提升MySQL效率:建立表时创建索引(mysql建表时建立索引)
MySQL作为一款开源数据库软件,应用普遍。为了提升MySQL的效率,需要在建表时创建索引。
索引(indexes)是MySQL 对数据表中的列建立特殊结构,以加快读取数据的速度。存储引擎更快地发现索引,来查找记录或者进行排序操作的时候,可以减少大量的记录的搜索时间,减少IO开销,提高性能。
常用的索引类型:
1.简单索引:基于单个字段创建
2.复合索引:基于多个字段创建,并且是以索引字段查询定位行时,依次使用索引字段
3.唯一索引:索引值必须唯一,不允许存在重复记录
4.全文索引:可以以全文本搜寻方式来进行,搜索结果更加自然
创建索引的语句为:
CREATE [UNIQUE|FULLTEXT] INDEX index_name
ON tbl_name (col_name(len))
其中:
– UNIQUE 为可选,当指定此项时,MySQL会确保索引中所有值都是唯一的
– FULLTEXT 为可选,当需要为条件检索列建立全文索引时,指定。
– index_name 为指定索引名称
– tbl_name 为指定要创建索引的表名
– col_name 为指定要进行索引的列
– len 为可选,当指定时,MySQL仅索引前 len 个字节。
由上可知,为了提升MySQL的效率,要在建表的时候进行合理的索引设计:
1.根据经验,MySQL 索引数量最好不要超过 3 个,最好不要超过 5 个,否则反而降低了速度
2.当一列的值始终大幅度的变化时,不要建立索引,应该采用其它替代方案
3.复合索引尽量不要将字符类型放在最前
4.全文索引,仅用于非常频繁用来搜索模糊条件的列
总之,建立索引可以提高 UDP 操作的性能,但是需要精心设计,不能盲目地建立索引。