数据库优化---索引
来源:互联网 发布:知乎哲理段落 编辑:程序博客网 时间:2024/06/05 22:49
1.索引原理:
通常使用B树或者B+树
2.索引分类
⑴唯一索引
不允许任意两行相同索引值
⑵主键索引
唯一索引的特定类型
⑶组合索引
就是把表中的多个列组合在一起建立索引,这里有一个最左前缀的原则
我们创建了lname_fname_age多列索引,相当于创建了(lname)单列索引,(lname,fname)组合索引以及(lname,fname,age)组合索引。
⑷全文索引
MySQL从3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的索引类型为FULLTEXT。全文索引可以在VARCHAR或者TEXT类型的列上创建。它可以通过CREATE TABLE命令创建,也可以通过ALTER TABLE或CREATE INDEX命令创建。对于大规模的数据集,通过ALTER TABLE(或者CREATE INDEX)命令创建全文索引要比把记录插入带有全文索引的空表更快。
2.创建索引的列:
⑴经常搜索的列
⑵主键列
⑶连接列
⑷范围搜索列,因为索引进行了排序
⑸where子句列
3.注意事项
⑴查询很少的列不创建索引
⑵列值较少(性别)的列不创建索引
⑶image,bit数据类型的列不创建索引
⑷修改性能远远大于索引性能的列,索引会提高检索性能但会降低修改性能。
⑸只要列中包含有NULL值都将不会被包含在索引中,所以我们在数据库设计时不要让字段的默认值为NULL。
⑹ 对字符串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个CHAR(255)的列,如果在前10个或20个字符内,多数值是惟一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。
⑺like “%aaa%” 不会使用索引而like “aaa%”可以使用索引,以%开头不会利用到索引,结尾可以。
⑻不要在索引列上进行运算
⑼不使用NOT IN和<>操作
- SQL 索引 数据库优化
- 数据库优化--索引
- 数据库索引 优化 文摘
- 数据库索引及优化
- 数据库 索引优化
- 数据库索引及优化
- SQL 数据库索引优化
- 数据库优化之一(索引)
- 数据库索引优化
- 数据库索引以及优化
- 数据库优化---索引设计
- 数据库实用索引优化
- 数据库索引优化入门
- 数据库索引以及优化
- mysql数据库索引优化
- 数据库索引优化
- 数据库索引以及优化
- 数据库索引及优化
- 过滤器filter
- Python IDLE清空窗口
- 调研crond (linux下的定时任务)
- <link>中的rel表示relation(关系),表示了当前文档与 Web 集合中其他文档的关系
- 数据建模
- 数据库优化---索引
- js中几种实用的跨域方法原理详解
- 2017年Android百大框架排行榜
- numpy数组合并
- Redis之主从复制
- FreeSwitch Lua编程接口(1)dialplan里的配置
- Java集合系列——List
- 2017年上半年阅读书单
- window 上传文件到 Linux