对于数据库的设计,索引的设计以及SQL语句的写法,都要有意识地优化
关键词:
聚集索引、非聚集索引
组合索引 、覆盖索引、索引命中
数据库基本设计规范、数据库字段设计规范、索引设计规范、数据库SQL开发规范
- 默认情况下主键是聚集索引,在建立主键的时候可以声明为CLUETERED(聚集)或NONCLUETERED(非聚集)!也就是说主键也可以声明为非聚集索引
- MySQL一次查询只能使用一个索引,如果要对多个字段使用索引,建立组合索引。
- 使用聚集索引的最大好处就是能够根据查询要求,迅速缩小查询范围,避免全表扫描。
- 聚集索引对于那些经常要搜索范围值的列特别有效
- 不是所有类型的索引都可以成为覆盖索引。覆盖索引必须要存储索引的列,而哈希索引、空间索引和全文索引等都不存储索引列的值,所以MySQL只能使用B-Tree索引做覆盖索引
- order by 如何利用索引排序,filesort和index
- order by 根据时间排序,如果时间自动添加,即跟自增id 相对应,于是可以用自增id排序代替时间排序来命中主键的聚集索引。