sql-索引的意义及使用

1、索引存在的意义:

         索引主要用来提升数据检索速度,在数据量很大的时候很有用. 索引相当于图书馆的图书目录,你要找本书可以在图书目录上找到这本书在哪个书架第几本,这样明显比到书架去找书要快得多,索引就是这个道理. 

2、索引提升查询效率的实际原理:

         索引是表示数据的另一种方式,它提供的数据顺序不同于数据在磁盘上的物理存储顺序。索引的特殊作用是在表内重新排列记录的物理位置。索引可建立在数据表的一列上,或建立在表的几列的组合上。

3、有关索引的其他

(1)、索引改善检索操作的性能, 但降低了数据插入、 修改和删除的性能。

(2)、因为索引本身就会导致额外的开销;此外,也并非所有的表都适合建立索引,如果一个表经常更新,索引往往会导致数据的物理顺序发生变化,付出的代价较大。

4、索引的增删改查

(1)、索引创建

             索引创建一般有两种,第一种就是在创建表或者更改表结构的时候,加上的约束会自动生成索引,如:

             1.PRIMARY  KEY(主键索引)
                   mysql>ALTER  TABLE  `table_name`  ADD  PRIMARY  KEY (  `column`  ) 
             2.UNIQUE(唯一索引)
                   mysql>ALTER  TABLE  `table_name`  ADD  UNIQUE  (`column` ) 
             3.INDEX(普通索引)
                   mysql>ALTER  TABLE  `table_name`  ADD  INDEX  index_name (  `column`  )
             4.FULLTEXT(全文索引)
                   mysql>ALTER  TABLE  `table_name`  ADD  FULLTEXT ( `column` )
             5.多列索引
                   mysql>ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column1`,  `column2`,  `column3`  )

            第二种,可以自己通过create语句创建索引

            1.UNIQUE(唯一索引)
                  mysql>CREATE UNIQUE INDEX index_name ON `table_name` (`column` ) 
            2.INDEX(普通索引)
                  mysql>CREATE INDEX index_name ON `table_name` (  `column`  )
            3.多列索引
                  mysql>CREATE INDEX index_name ON `table_name` (  `column1`,  `column2`,  `column3` )

(2)、索引的删除

            1.PRIMARY  KEY(主键索引)
                   mysql>ALTER  TABLE  `table_name`  DROP PRIMARY KEY 
            2.INDEX(普通索引)或UNIQUE(唯一索引)
                   mysql>ALTER  TABLE  `table_name`  DROP INDEX index_name
                   mysql>DROP INDEX index_name ON `talbe_name`
(3)、索引查看

             mysql> show index from table_name;

             mysql> show keys from table_name;

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值