导图社区 索引
MySQL数据库程序设计第六章索引,内容有索引概述、查看数据表上的索引、创建索引、删除索引、对索引的进一步说明。
MySQL数据库程序设计第七章视图,讲述了概述、创建视图、删除视图、修改视图定义、查看视图定义、更新视图数据等。
MySQL数据库程序设计第八章触发器,讲述了定义及概念、创建触发器、删除触发器、使用触发器、进一步说明等。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
索引 INDEX
索引概述
查询搜索两种方式
全表扫描、检索
数据多时效率低
利用数据表上建立的索引进行扫描
索引项(索引字段)、索引值
作用
查询优化、加快数据库检索的速度
分类
普通索引
可以取空或重复值
创建关键字 INDEX或KEY
唯一值索引
不能重复、必须唯一、可以取空
创建关键字 UNIQUE
主键索引
必须唯一、不能重复、不能为空
创建主键时自动创建主键索引(PRIMARY KEY)
创建表时指定主键,修改表添加主键
每个表只有一个主键
聚簇索引
索引顺序是物理储存顺序
保证索引值相近的元组存储的物理位置相近
一个表只有一个聚簇索引
存储引擎
solidDB或InnoDB
全文索引
创建在数据类型为VARCHAR或TEXT的列上
MyISAM
单列索引
一个索引只包含原表中一个列,一个表上可以建多个单列索引
组合索引(复合索引、多列索引)
多个列上建一个索引
最左前缀法则
查看数据表上的索引
SHOW INDEX
show index from db_school.tb_score
数据多时可使用 \G分项、翻页
show index from db_school.tb_score \G
Non_unique(是否唯一性索引)
是0 否1
Collation(升序\降序排列)
升A 无分类NULL
创建索引
创建表时创索引(CREATE TABLE)
ASC升序 DESC降序 默认ASC
UNIQUE(可选)索引为唯一性索引
在存在的表上创索引(CREATE INDEX)
CREATE INDEX 索引名称 ON 表名
使用ALTER TABLE语句添加索引
ADD INDEX
ADD CONSTRAINT
删除索引
DROP INDEX
drop index 索引名 on表名
ALTER INDEX
alter table 表名 drop index 索引名
注意
删除某一列,该列为索引项,则该列也会从索引中被删除
组成索引的所有列都被删除,则整个索引被删除
对索引的进一步说明
问题
降低更新表中数据的速度
增加存储空间
建议
在修改操作比较多的数据表上避免过多简历索引
数据量较小的表最好不要建立索引
使用组合索引时,严格遵循最左前缀法则
在查询表达式中经常使用、有较多不同值的字段中建立索引
在WHERE子句中尽量避免将索引列作为表达式的一部分
若CHAR或VARCHAR列的字符数很多,则可以视具体情况选取字段前N个字符值建索引