我正在尝试执行以下查询,但执行需要 12 秒。
SELECT t.*,
tt.*
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt
ON t.term_id = tt.term_id
WHERE tt.taxonomy IN ( 'category' )
ORDER BY t.name ASC
他们是否有任何方法可以简化查询以减少延迟以达到相同的结果。
尝试在 term_id 上添加索引。
您可能会获得更好的性能
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id WHERE tt.taxonomy = 'category' ORDER BY t.name ASC
通过删除IN
; 但除此之外 - 你的瓶颈将是JOIN
. 确保您的表格已正确编入索引,如果它们太大......好吧,这需要时间。
您必须添加索引并使用 '=' 而不是 'IN'
您是否需要两个表中的所有数据,还是选择 t.* 和 tt.* 因为它的编码速度更快?
你能把你从陈述中选择的东西配对吗?
您也可以在语句中添加分组依据。这可以减少您的退货行数并提高性能。
IN
除非必须,否则不要使用。
WHERE tt.taxonomy = 'category'