数据库学习1-索引

什么是索引
1.索引用来快速查找拥有特定值的记录
2.索引是加速查询速度的手段,是快速定位数据的技术
3.索引是一种特殊文件,innodb数据表上的索引是表空间的组成部分,他们包含着数据表里所有记录的引用指针
4.分为聚集索引和非聚集索引

聚集索引:索引中的键值的逻辑顺序决定了相应行的物理顺序
非聚集索引:数据存储在一个地方,索引存储在另一个地方,索引文件中存储指针指向数据存储位置

1.添加索引的列最好不可是可编辑的列,
2.索引列不可以有null,所以添加的索引列最好设置为empty string
3.索引列最好不要有大量的字符串
4.索引会提高查询速度,但也会降低更新效率
5.一般来说在where和join中出现的列需要加入索引
6.mysql把同一个表中的索引数量限制在16个
7.delay_key_write命令用于暂时限制每条sql语句在插入和更新之后立即更新索引,可以等到所有的插入更新完成之后执行索引更新,能够大大提高更新效率


两种情况不建议使用索引
1.数据库记录少,在不超过2000条的情况下不考虑使用索引
2.索引选择性低,索引选择性就是出现不重复索引值与记录数的比例

添加索引
1.alert table:用于创建普通索引,主键索引,唯一索引
alert table tablename add index indexName(column_list)
alert table tablename add unique (column_list)
alert table tablename add primary key (column_list)

2.create index :可对表增加普通索引和唯一索引
create index indexname on table_name(column_list)
create unique index indexname on table_name(column_list)

索引的优化
1.调整where语句的顺序
2.去掉频繁插入更新的列的索引
3.最适合建立索引的列是where语句,join语句中出现的列
4.建立唯一索引,对于会出现多个重复值的列,唯一索引效果较差
5.使用短索引
6.利用最左前缀

模板哥 - 网页模板,网站模板,DIV模板,CSS模板,前端模板,官网,官网模板,企业网站模板下载,模板下载
原文地址:https://www.cnblogs.com/zw2582/p/11865534.html