好处:数据库利用各种各样的快速定位技术,能够大大提高查询效率
索引的创建:
1.ALTER TABLE ,ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引
例子:ALTER TABLE table_name ADD INDEX index_name (column_list)
说明:table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以在同时创建多个索引
2.CREATE INDEX CREATE INDEX可对表增加普通索引或UNIQUE索引
例子:CREATE INDEX index_name ON table_name (column_list)
说明:table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引
索引删除:
1.语句
DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
从表中删除了某列,则索引会受到影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除
索引什么情况下应不建或少建索引:
1.表记录太少
2.经常插入、删除、修改的表
3.数据重复且分布平均的表字段 ex:假如一个表有10万行记录,有一个字段A只有T和F两种值,且每个值的分布概率大约为50%,那么对这种表A字段建索引一般不会提高数据库的查询速度
4.经常和主字段一块查询但主字段索引值比较多的表字段
索引的缺点:
1.索引也是一种数据,在建立索引的时候势必也会占用大量表空间。因此在对一大表建立索引的时候首先应当考虑的是空间容量问题
2.性能调整方面,尽量把索引与数据分散到不同的磁盘上
数据库索引小结
最新推荐文章于 2022-07-12 20:13:08 发布