1
1
有些人认为是因为
查询的成本大致与检查的行数成比例,而不是与结果的大小成比例。 要计算行数,InnoDB必须 检查 每行,因为MVCC。使用索引有助于减少检查的行数,但这可能仍需要检查数百万行。 因此,它的性能成本与为其他目的读取相同行数的查询几乎相同。当然,将单个整数传递回客户端比返回数百万行更快,但网络传输速度并不是瓶颈。 加快查询速度的解决方法包括:
|
2
-2
如果可能,永远不要在字段的WHERE中使用函数。然后MySQL必须读取每一行,调用函数,然后才能与VALUE进行比较。这意味着这将始终是一个完整的表扫描,因此不能使用索引。 这可能更明智,例如:
使用 |
hello_programmers · Mysql从其他表输出一列 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
Kugelfisch · 用php为数据库加密数据 1 年前 |