您的位置:首页 > 数据库 > MySQL

mysql_建立索引的优缺点

2017-02-04 17:06 302 查看
 建立索引的优点:

这是因为,创建索引可以大大提高系统的性能。 

        第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 

        第二、可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 

        第三、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 

        第四、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 

        第五、通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

建立索引的缺点:

 

      第一、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。 

        第二、索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间。如果要建立聚簇索引,那么需要的空间就会更大。 

什么样的字段适合创建索引:

 索引是建立在数据库表中的某些列的上面。因此,在创建索引的时候,应该仔细考虑在哪些列上可以创建索引,在哪些列上不能创建索引。

       一般来说,应该在这些列上创建索引,例如:

       第一、在经常需要搜索的列上,可以加快搜索的速度; 

       第二、在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构; 

       第三、在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度; 

       第四、在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的; 

       第五、在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间; 

       第六、在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。

1.PRIMARY KEY (主键索引)

MySQL>
alter table table_name add primary key ( `column` )


 

2.UNIQUE 或 UNIQUE KEY (唯一索引)

mysql> alter table table_name add unique (`column`)

     3.FULLTEXT (全文索引)
     mysql> alter table table_name add fulltext (`column` )

     4.INDEX (普通索引)
     mysql> alter table table_name add index index_name ( `column` )


5.多列索引 (聚簇索引)
      mysql> alter table `table_name` add index index_name ( `column1`, `column2`, `column3` )


       修改表中的索引:

       alter table tablename drop primary key,add primary key(fileda,filedb)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: