人亦已歌 发表于 2023-1-20 11:24:20

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,以上就是关于索引核心知识,大家亲自动手练习一下。

高高高 发表于 2023-1-31 00:09:49

我又来卷了

马永明 发表于 2023-1-31 07:44:26

有图有真相,排版非常好

xmxm766 发表于 2023-1-31 15:47:20

以前看过很多mysql教程也没弄明白,这次明白了

说听看 发表于 2023-2-1 07:50:23

学mysql看过很多教程,全都讲不全,这次下定决心学会它

沙和尚 发表于 2023-2-1 22:53:10

很好,希望楼主多多发布好教程!

若月时绪 发表于 2023-2-2 15:58:47

楼主真乃全才,怎么啥都会

海盗头子 发表于 2023-2-15 03:10:14

这样的教程我喜欢

tianbao0808 发表于 2023-2-17 02:06:55

感谢老师的无私奉献,赞

jubiter 发表于 2023-2-19 15:34:30

比上大学时的老师讲的好多了,非常有条理
页: [1] 2 3 4
查看完整版本: Mysql数据库核心技术(二十四)唯一索引 自然索引 主键索引