![]() |
1
1
将其更改为联接。MySQL在in()子句中没有很好地优化子查询-它是按行重新计算的(对于许多行来说效率非常低)
转换查询后(可能需要根据架构进行一些更正),运行
|
![]() |
2
2
创建索引:
|
![]() |
3
1
我只能说:
其次,我不明白你为什么要用一个GROUPBY子句。。。
|
![]() |
4
1
将第二个内部选择更改为联接:
然后,查看执行计划以了解如何解决查询。您可能需要基于该执行计划进行额外的优化(例如,确保属性id字段已编制索引)。 |
![]() |
5
1
弗雷德里克的回答是对的,但我想提出几点建议:
但是,这又取决于你的机器/dbms/版本等等。。。为了获得最佳性能,您必须比较不同的执行计划 |
![]() |
6
1
小心使用EAV(实体、属性、值)表设计的设计。由于引用的完整性和查询的复杂性,它们往往变得很难处理。 通过使用优化:
第二阶段:
|
![]() |
7
0
为组使用派生表,方法是。。。把它放回你需要的任何一张桌子上 |
|
Napster Long · 为什么前缀索引比mysql中的索引慢? 7 年前 |