欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流
本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle
✅今天继续SQL的索引的第 3 篇文章,主要讲到了聚簇索引与非聚簇索引、查看索引与删除索引、索引方法,大家拭目以待吧!
✴️文章中提供了代码和很具体的截图,代码是为了减轻大家学习的难度,同时用截图可以更形象的让大家去理解知识点想要表达的意思,希望大家跟着一起学起来
💖希望文章的内容对大家有所帮助,如果有什么不足的地方,大家可以在评论区或者私信我,感谢大家的支持
💻那么,快拿出你的电脑,跟着文章一起学习起来吧
哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可立刻定位到相应的位置,速度非常快。
Hash索引仅仅能满足=,IN和<=>查询,不能使用范围查询,也不支持任何范围查询,例如WHERE price > 100
由于Hash索引比较的是进行Hash运算之后的Hash值,所以它只能用于等值的过滤,不能用于基于范围的过滤,因为经过相应的Hash算法处理之后的Hash值的大小关系,并不能保证和Hash运算前完全一样。
SHOW INDEX FROM <表名> [ FROM <数据库名>]
show index from emp;
DROP INDEX <索引名> ON <表名> <索引名>:要删除的索引名 <表名>:指定该索引所在的表名
ALTER TABLE <> + [句1/句2/句3] 句1:DROP PRIMARY KEY:表示删除表中的主键索引 句2:DROP INDEX index_name:表示删除名称为 index_name 的索引 句3:DROP FOREIGN KEY fk_symbol:表示删除外键
如果删除的列是索引的组成部分,那么在删除该列时,也会将该列从索引中删除;如果组成索引的所有列都被删除,那么整个索引将被删除
drop index index_empno on emp; # 索引名称为index_empno # 前面4.2中的示范里,索引的名称是2,使用这条SQL语句删除时,会报错,正常情况下,索引名称都不会这样取得,所以无需纠结这种情况 alter table emp drop index index_empno;
😘感谢大家耐心的看完这篇文章,这篇文章是MySQL索引的第3篇文章
✅如果大家觉着内容还算可以,那么就关注一下爱书不爱输的程序猿吧
🏡也可以加入我的社区一起学习呀
🎁各种专栏,精彩不断
- SQL应知应会专栏,对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle
- UML应知应会专栏,对于UML的一些讲解,应有尽有
- … … 还有java的专栏、算法与数据结构的专栏等其他专栏,快去我的主页关注我吧