php - mysql索引名称如何使用,在什么时候使用
天蓬老师
天蓬老师 2017-04-10 18:10:52
[PHP讨论组]

建立索引很简单,请问这个索引名称cid在我书写mysql语句的什么时候会用到?
还是这个cid只是在mysql内部处理索引的时候使用,我书写语句的时候不会用到?

一般就这样建立索引就完毕了吗,mysql内部会处理关于索引的一切?还需要我自己书写什么语句不?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
ringa_lee
  1. 如果你关心某条SQL查询是否用了索引, 可以用EXPLAIN SELECT * FROM xxx WHERE yyy看一下查询计划, 它会告诉你用了什么索引, 这里你就会看到你的索引名了

  2. 还有一个场合你会用到索引名, 就是如果你希望强制使用某个索引来查询, 你可以用SELECT * FROM xxx FORCE INDEX yyy WHERE zzz, 相反如果希望强制忽略某个索引, 可以用SELECT * FROM xxx IGNORE INDEX yyy WHERE zzz

天蓬老师

起区分作用起区分作用起区分作用

黄舟

首先得了解索引到底是什么,为什么索引能够加快查询,索引就是讲数据按照一定的排序规则讲数据按照索引给定的规则码放数据,譬如一个联合索性index(a,b,c),他将数据先按照 a b c码放,当一个查询语录比如select * from tb1 where a=1 and b=2 order by c这样的话mysql会先利用a字段迅速定位到磁盘上的数据,这时候b的数据又是按照a的规则有序码放,所以也能迅速定位数据范围,最后c字段也是有序的,所以该索性能发挥很好的作用,如果没有索性底层是这样的,mysql会到磁盘上的数据取一行然后在跟条件做比较不符合的丢弃掉,最后在根据排序规则进行文件排序,索性当然不止这些,还有mysql的聚簇索引,索引覆盖,myisam innodb索引的规则,myisam索引的叶子上不直接存数据,而是指向对物理行的引用,而innodb数据是指向对主键primary key的引用,如果没有明确指明primary key.系统会自动生成一个隐式的主键从而索性指向对该主键引用,建议系统学习

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号