MySql SELECT索引的好处

时间:2017-06-08 08:34:37

标签: php mysql select

两个SQL select之间是否有显着的好处?

editable=True
当然,

cod_clie是一个INDEX字段!

4 个答案:

答案 0 :(得分:0)

通常不会,因为mysql应该使用索引。要100%确定只需将解释附加到您的查询并比较输出。

EXPLAIN SELECT * FROM table USE INDEX (cod_clie) WHERE cod_clie = 'example' AND pwd_clie = 'example' LIMIT 1;
EXPLAIN SELECT * FROM table WHERE cod_clie = 'example' AND pwd_clie = 'example' LIMIT 1;

答案 1 :(得分:0)

默认查询分析器查找最佳索引以提高查询性能。但是由于许多手动索引或大量修改的表(例如INSERT或DELETE),随着时间的推移,密钥分布(Cardinality)与真实状态不同。

如果选择错误计划的优化程序可能会导致严重的性能问题。这意味着您的服务器可能会在最意外的时间遇到​​性能问题。

幸运的是,我们可以强制优化器选择具有'USE INDEX'提示的特定计划(索引)。

答案 2 :(得分:-1)

索引用于加速SQL搜索。 https://dev.mysql.com/doc/refman/5.7/en/mysql-indexes.html

如果您没有任何索引,当您查找特定值(WHERE cod_clie =“example”)时,SQL将遍历整个表。

如果您拥有包含大量数据的大型数据库,您将会发现性能时间差异很大。

答案 3 :(得分:-1)

SQL索引通过以特定的排序顺序排列索引字段的值来增强SQL选择查询的性能,从而最小化要扫描的表中的行数,直到找到包含该列中的过滤值的匹配行为止。

通常索引应用于SQL select查询中用作过滤器的字段。