我的查询速度很慢。我的页面上有两个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。

10-05 20:29
查看更多