MYSQL-索引的设计
1. 创建索引语法:create index index_name on table_name(index_col_name)
2.删除索引语法:drop index index_name on table_name
3.设计及索引原则
(1)最适合的索引列是出现在where搜索子句中的列。
(2)尽量使用唯一索引。也就是选索引列的时候,这一列的值尽量具有唯一性,区分度比较好的。不要选择例如性别的字段作为索引。
(3)使用段索引。短索引可以节约磁盘索引空间,使查询速率更快,更重要的是,短索引值,能在索引告诉缓存中的块能容纳更多的键值。这样可以让引擎搜索更少的块就能找到我们要搜索的值。
(4)不要过度索引。每个额外的索引都要占用额外的磁盘空间,并降低写操作性能。在进行修改表操作时,所以必须进行更新,有时候可能需要重构,因此,索引越多,花费时间越多。
(5)对于表的数据,引擎会以一定的顺序来保存,若有明确的主键,则按主键顺序保存,若没有,但有唯一索引,则按唯一索引保存,若两者都没有,则系统会自动生成一个内部列,并制定这个列为自己的主键,按照这个列的顺序进行存储。主键尽量选择较短的列作为主键以减少索引的占用空间,并且主键也要选择最常访问的列作为主键。