>[info] ## 序言
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。
>[info]## 创建索引
```
//创建索引
CREATE INDEX indexName ON table_name (column_name)
//删除索引
DROP INDEX [indexName] ON mytable;
//显示索引
SHOW INDEX FROM table_name
```
>[info]## 索引设计
* 限制每张表上的索引数量,建议单张表索引不超过 5 个
* 唯一索引使用uniq_字段名]来命名
* 非唯一索引使用idx_[字段名]来命名
* 单张表索引数量建议控制在5个以内
* 不建议在频繁更新的字段上建立索引
>[info]## 联合索引
* **OR**关系,加索引不起作用
* 符合最**左**原则
* *在建立索引时,多考虑建立联合索引,并把区分度最高的字段放在最前面,应该仔细考虑列的顺序。
~~~
联合索引又叫复合索引。
对于复合索引:Mysql从左到右的使用索引中的字段,
一个查询可以只使用索引中的一部份,但只能是最左侧部分。
例如索引是key index (a,b,c).
可以支持**a**|**a,b**|**a,b,c**3种组合进行查找
但不支持 b,c进行查找 .当最左侧字段是常量引用时,
索引就十分有效。
~~~
***
>[info]## 如何正确的建立数据库表字段索引?
1、索引不是在创建表的时候创建的;系统在运行一个阶段后创建索引。
2、对于主键、外键、排序等字段优先加索引。
3、其它字段在建立索引的时候需要计算字段的区分度,计算SQL如下:
```
select COUNT(DISTINCT column_name)/COUNT(*) from table_name
```
- 序言
- 为什么要编码规范?
- 如何进行编码规范?
- 编码规范宏观微观细节
- PHP编码规范
- 基础规范
- 1 语法规范
- 2 变量命名规范
- 3 常量命名规范
- 4 类命名规范
- 5 函数命名规范
- 6 方法命名规范
- PSR-规范
- 基本代码规范
- Tp项目规范
- TP命名规范
- Tp目录规范
- Tp基础目录构架
- Tp项目开发思考
- Tp控制器规范
- 控制器构架
- Tp模型规范
- 模型性能优化
- Tp业务规范
- 返回结构规范
- 业务异常规范
- Tp输出规范
- Restful API
- 模板渲染输出
- Tp异常规范
- 异常码状态码
- 异常输出方式
- Tp验证规范
- Tp路由规范
- Tp加密规范
- Password Hashing
- Tp缓存规范
- 常见数据缓存
- 缓存设计思考
- Tp日志规范
- 日志信息
- 日志分析
- Tp日志接管分析
- Tp性能优化
- vendor包规范
- 项目自动化思考
- 项目检测告警思考
- 项目注释规范
- Mysql设计规范
- 序言
- 命名规范
- 表及字段规范
- 索引规范
- 索引原理
- Sql规范
- 事务规范
- 读写分离
- 乐观锁悲观锁
- 数据库审计
- 性能优化
- 查询优化神器
- 慢查询优化步骤
- 分库分表、分区表
- 根据sql日志筛选数据
- 设计原则
- MongoDB规范
- MongoDB基础
- MongoDB设计
- MongoDB安全性
- MongoDB备份
- 操作手册规范
- API文档说明规范
- 管理端操作手册
- 用户使用说明书
- 溯源项目构想