提升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 操作的性能,但是需要精心设计,不能盲目地建立索引。


数据运维技术 » 提升MySQL效率:建立表时创建索引(mysql建表时建立索引)