索引(index)

本文深入探讨了数据库索引的作用,包括提高查询速度、确保数据唯一性和加速表间连接。介绍了主键索引、唯一索引和常规索引等分类,并通过创建100万条数据的测试说明了索引在大数据量时的重要性。同时,强调了索引准则和数据结构,指出不应过度使用索引,尤其在经常变动的数据列上,并推荐在查询条件字段上添加索引。
摘要由CSDN通过智能技术生成
  • MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构。
  • 提取句子主干,就可以得到索引的本质:索引是数据结构

索引的作用

  • 提高查询速度

  • 确保数据的唯一性

  • 可以加速表和表之间的连接 , 实现表与表之间的参照完整性

  • 使用分组和排序子句进行数据检索时 , 可以显著减少分组和排序的时间

  • 全文检索字段进行搜索优化

索引的分类

  • 主键索引 (Primary Key)

    • 唯一的标识,主键不可重复,只有一个列作为主键

    • 主键 : 某一个属性组能唯一标识一条记录

      特点 :

      1. 最常见的索引类型

      2. 确保数据记录的唯一性

      3. 确定特定数据记录在数据库中的位置

  • 唯一索引 (Unique)

    • 避免重复的列出现,唯一索引可以重复,多个列都可以标识位唯一索引       

    • 作用 : 避免同一个表中某数据列中的值重复

      与主键索引的区别:

    1. 主键索引只能有一个

    2. 唯一索引可能有多个

CREATE TABLE `Grade`(
  `GradeID` INT(11) AUTO_INCREMENT PRIMARYKEY,
  `GradeName` VARCHAR(32) NOT NULL UNIQUE
   -- 或 UNIQUE KEY `GradeID` (`GradeID`)
)

 

  • 常规索引 (Index)

    • 默认的,index。key关键字来设置

    • 作用 : 快速定位特定数据

      注意 :

    1. index 和 key 关键字都可以设置常规索引

    2. 应加在查询找条件的字段

    3. 不宜添加太多常规索引,影响数据的插入,删除和修改操作

CREATE TABLE `result`(
   -- 省略一些代码
  INDEX/KEY `ind` (`studentNo`,`subjectNo`) -- 创建表时添加
)


-- 创建后添加
ALTER TABLE `result` ADD INDEX `in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值