Mysql数据库核心技术(二十四)唯一索引 自然索引 主键索引
索引如同现实生活中字典的检索表或书本的目录,它可以帮助我们快速在海量的数据中找到需要的部分。在数据库操作中,我们只需要设置索引。索引设置后,当执行查询语句时,数据库引擎会自动使用索引。当然,索引虽然是个好东西,也并非越多越好。例如:给一本只有几十页的书设置详细的检索目录。一则,可能正常翻阅查找比用索引查找更快。二则、以后每次增加内容时,还要修改检索目录,效率反而大大降低。
所以增加索引的原则是:
1、如果列数据大多相同、表数据只有几百行。不宜做索引。
2、频繁搜索的列、对数据排序的列、from前或WHERE子句中出现的列或在join子句中出现的列可以设为索引,这样提高查询速度。常用的索引分为:唯一索引、自然索引和主键索引三种。
全部索引类型我们也列出一下,大家感兴趣的话,可以自行深入
(1)普通索引(Key Indexes)
(2)唯一索引(Unique Indexes)
(3)主键索引(Primary Key Indexes)
(4)组合索引(Composite Index)
(5)前缀索引( Prefix Indexes)
(6)全文索引(Full-Text Indexes)
(7)哈希索引(Hash Indexes)
(8)空间索引(Spatial Indexes)
其中主键索引是在我们给字段添加主键时自动添加的,即:主键就是主键索引。唯一索引在之前的讲解中也已详细说明过。下面我们主要来说一下自然索引的创建于删除操作。
自然索引也叫普通索引,它是最基本的索引,没什么限制,根据创建时机不同,主要有以下两种方式:
1、创建表时添加
create table stu555 (`id` int primary key,`name` varchar(20),index ix_name(name));语句解释:
创建一张stu555表,给name字段添加自然索引。执行结果如下:
2、通过修改字段属性的方式添加
alter table stu555 add index ix_name(name);3、删除索引
drop index ix_name on stu555;执行结果如下:
ok,以上就是关于索引核心知识,大家亲自动手练习一下。
我又来卷了 有图有真相,排版非常好 以前看过很多mysql教程也没弄明白,这次明白了 学mysql看过很多教程,全都讲不全,这次下定决心学会它 很好,希望楼主多多发布好教程! 楼主真乃全才,怎么啥都会 这样的教程我喜欢 感谢老师的无私奉献,赞 比上大学时的老师讲的好多了,非常有条理