产品表:product_id(int),cat_id(int)。
查询:
SELECT * FROM products where cat_id IN()
产品表有1000000行
如果cat_id具有更多像cat_id IN(2,3,4,5,6)这样的cat_id需要花费很多时间来与执行查询的cat_id IN(2)相比较。请给我正确的查询方式或数据库架构的任何更改。
答案 0 :(得分:1)
在products(cat_id)
上创建索引:
create index idx_products_catid on products(cat_id);
答案 1 :(得分:0)
存储过程http://www.mysqltutorial.org/introduction-to-sql-stored-procedures.aspx
以上链接介绍了存储过程。我不确定它是否会提高你的性能,但它值得一试,因为你想让你的查询更快地执行。
http://www.mysqltutorial.org/mysql-stored-procedure-tutorial.aspx
只需浏览以上链接即可。它会给你一个写存储过程的想法。