我有一个MySQL数据库,其中包含产品所在的相当大的表。他们每个人都有自己的id和categoryId字段,其中有一个类别id属于该产品。现在我有一个从给定的类别,如翻出产品查询:使用IN运算符优化MySQL查询
SELECT * FROM products WHERE categoryId IN (1, 2, 3, 4, 5, 34, 6, 7, 8, 9, 10, 11, 12)
当然,来了一个WHERE子句和ORDER BY排序而不是在这件事情。假设这些产品是25万,每天的访问量超过10万。在这样的条件下,slow_log表中的这些查询的权重将会占用大量的时间。
你有任何想法如何优化给定的问题?
表引擎是MyISAM。上的categoryId
你确实有'categoryId'上的索引,对吧? – DanMan 2014-06-13 20:30:01