数据库索引

学习自

https://blog.csdn.net/weiliangliang111/article/details/51333169

 

索引是怎么工作的?

比如某个表上,有这样的一列,user_name

 

user_name

------------

alibaba

baidu

tencent

 

如果 想找tencent,太慢了 ,需要一个个 检索,检索 最后一条或者没有想找的字段,需要进行全表扫描。性能太差了。所以可以考虑添加一个B树的索引,把开头为t的字段都聚集在一起,这样就好找多了。(不知道是不是B树,感觉这种情况字典树最好了)

 

如果希望通过找到的这一个字段,再去寻找这一行的 所有字段呢?

索引中除了存储列的值,还存储着一个指向在行数据的索引。等同于 (“tencent”, 0x82829)

 

建立索引后,如何使用索引?

直接select, 数据库会自动判断。(但是注意如果使用索引比全表扫描更低效,那么数据库就不会替我们使用索引了)

 

创建索引

create index  索引名 on  表名(列名)

 

创建联合索引(用于多条件查询,所以需要给多个列添加索引)

create index 索引名 on 表名(列名1,列名2)

 

创建聚集索引(聚集索引:索引和表的顺序一致,比如你给某一列添加了聚集索引,索引有一定的排序规则吧,同时也会让表按照索引的顺序来,以后插入一行的时候不是插入在最后面,而是按照规律来插入)

create clusteredindex 索引名 on 表名(列名)

 

唯一索引:不允许该列有相同的元素

 

 主键 索引: 默认的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值