mysql根据索引去修改数据,会走索引吗

mysql根据索引去修改数据,会走索引吗,第1张

不一定,要看情况,具体是由MySQL优化器内部决定是全表扫描还是索引查找,用效率较高的一种方式。

针对索引字段的唯一性不高的情况下(索引的"区分度"低),优化器可能会选择全表扫描,而不是走索引。这可能是因为等值查询符合条件的记录太多了,导致了mysql认为全表扫描比用索引查找更快。

比如你对唯一性不高的字段(如性别:男/女)加了索引,这样通过索引去查找可能还需回表,还不如直接全表扫描!

若in中的数据量较大时,基本就不走索引了。如果你索引字段是一个unique,in可能就会用到索引。

如果你一定要用索引,可以用 force index。可能也和MySQL版本有关(5.6以后有做in的查询优化)

mysql不走索引5000条数据参考以下数据

一千万的条目在时间上建立非聚集索引,用了7分钟,半小时差不多。

索引跟类型关系很大,一般定长字段比变长字段简单,IO消耗小,时间节省,复合索引变长越多就越复杂,其次就是一表多索引,这种情况会衍生各种存储索引结构,就更费时间了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7327377.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存