我的查询速度很慢。我的页面上有两个lare查询。自从我插入了一个“in”语句以来,它运行得很慢。
SELECT field1, field2, field3, field4, field5, field6,
DATE_FORMAT(field7, '%d-%m') AS field7_1,
DATE_FORMAT(fjield8, '%d-%m') AS field8_1
FROM
table1
where
field9 in (select field1 from table2 where id = '$id_session') OR
field10 in (select field1 from table2 where id = '$id_session')
order by
field7_1 desc
Limit
50, 100";
我认为问题在于“where field9 in(select field1 from table2 where id='$id_session')”部分,它正在另一个表中搜索必须在where子句中的值。
加载大约需要8秒,这会减慢速度。我已经减少了数据库中的记录数,但这并不能加快速度。
请帮忙。
最佳答案
通常可以使用IN重构查询以使用JOIN。