索引是什么
索引数据结构
联合索引
最左原则
创建索引注意事项
如何选择索引字段
- 表的主键、外键必须有索引;
- 经常与其他表进行连接的表,在连接字段上应该建立索引;
- 经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
- 如果where条件中是OR关系,必须所有的or条件都必须是独立索引,否则加索引不起作用。
- 索引应该建在选择性高的字段上;
- 索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引
- 只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为NULL。
- 数据量超过300的表应该有索引;
- 频繁进行数据操作的表,不要建立太多的索引
- 删除无用的索引,避免对执行计划造成负面影响
无用索引的负面
- 太多的索引与不充分、不正确的索引对性能都毫无益处;
- 在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销;
- 过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大
