MySQL索引创建的必要条件(mysql建索引的要求)

MySQL索引的创建是提升查询性能的重要手段,索引创建前需要弄清楚索引的必要条件。

首先,MySQL索引的建立必须要在表中已经有数据的情况下才能够创建,列中不可有NULL值,空值创建索引,都会被空值自动过滤,索引将不会被添加 。同时,MySQL索引只能创建在非文本类型(即数值、日期类型)的字段上,文本类型的将不会被当做创建索引的条件。例如:不可在text、image、nvarchar(max)、varchar(max)这类字段上设置索引。

其次,MySQL索引的建立只能创建聚集索引(clustered index)和非聚集索引(non-clustered index),其中聚集索引是将数据物理文件本身做的排序,数据物理排序就是索引,而非聚集索引则是对表中列进行创建索引,聚集索引在表中只能有一个,同时,MySQL支持多列索引。要创建多列索引,只需要把多个列名用英文逗号分隔开即可,如:

CREATE INDEX index_name ON table_name(column1, column2);

最后,MySQL索引的建立也需要注意规范,首先要保证索引的列的大小,尤其是建立索引的字段,越小,性能会越好,其次要根据查询的条件来确定索引的列,与查询的条件越匹配,就能更好的提高搜索效率,另外,要避免创建重复索引,因为重复索引只能使速度变慢,而且会增加数据库的大小,最后,MySQL中不支持全文索引。

以上就是MySQL索引创建的必要条件,望遵循以上要求创建索引,不仅能提高数据库的查询性能,还能保证数据库的可靠性,也缩短查询处理所需的时间。


数据运维技术 » MySQL索引创建的必要条件(mysql建索引的要求)