我有一个查询,它会立即显示近6000行...但是当我添加一个部件到哪个条件......它会令人难以置信地放慢速度......这是预期的吗?对我来说,似乎任何事都应该加速,因为它返回的行数较少。
这是基本的查询结构:
SELECT table1.itemcode,
table1.itemdiscount,
table2.categoryname,
table2.categorycount
FROM table2
JOIN table1
ON table2.categoryid = table1.categoryid
WHERE table1.categoryid = '125'
AND table2.categoryname IN ( 'A', 'B', 'C' )
当我遗漏where where条件的最后一部分时,它几乎是瞬间......但是添加它......然后它离开了窗口。我只是错过了一些东西吗?或者性能变化是否有意义?
答案 0 :(得分:0)
查询优化器可能会变得愚蠢 试试这个
SELECT table1.itemcode,
table1.itemdiscount,
table2.categoryname,
table2.categorycount
FROM table2
JOIN table1
ON table2.categoryid = table1.categoryid
AND table1.categoryid = '125'
AND table2.categoryname IN ( 'A', 'B', 'C' )
下一步是table2.categoryname
的索引