mysql_建立索引的优缺点

本文介绍了数据库索引的优势与劣势,并详细解释了如何选择合适的字段来创建索引,包括主键索引、唯一索引等不同类型的索引及其创建方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 建立索引的优点:

这是因为,创建索引可以大大提高系统的性能。 
        第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 
        第二、可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 
        第三、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 
        第四、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 
        第五、通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。


建立索引的缺点:

 

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

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


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

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

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

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

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

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

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

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

       第六、在经常使用在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)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值