![]() |
1
1
有些人认为是因为
查询的成本大致与检查的行数成比例,而不是与结果的大小成比例。 要计算行数,InnoDB必须 检查 每行,因为MVCC。使用索引有助于减少检查的行数,但这可能仍需要检查数百万行。 因此,它的性能成本与为其他目的读取相同行数的查询几乎相同。当然,将单个整数传递回客户端比返回数百万行更快,但网络传输速度并不是瓶颈。 加快查询速度的解决方法包括:
|
![]() |
2
-2
如果可能,永远不要在字段的WHERE中使用函数。然后MySQL必须读取每一行,调用函数,然后才能与VALUE进行比较。这意味着这将始终是一个完整的表扫描,因此不能使用索引。 这可能更明智,例如:
使用 |
|
Johnny T · 基于当前值的SQL合并表[重复] 6 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 7 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 7 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 7 月前 |
![]() |
Sax · 规范化Google表格(第一步) 7 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 7 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 7 月前 |