索引 c语言中的意义,索引的本质

前言1:我会结合mysql和mssql来写。虽然是不同的数据库,但是二者索引的本质是一样的。

前言2:业务系统大多数时间无非动态条件+排序+查找,如何提升排序查找效率乃重中之重

前言3:程序猿的救命稻草——创建索引

如果你对前言的内容感兴趣(怎么会有兴趣呢,很痛苦好吧。。。)不过为了将来

升职加薪,当上总经理,赢取白富美,走上人生巅峰

请继续往下看吧

一 索引的概念

1 索引的定义

不需要太多术语,就一句话:快速查找&有序的数据结构

堆表不保证有序

2 聚集索引和非聚集索引

聚集索引Clustered Index

1 列可以有重复值。

2如果主键默认做聚集索引,则符合唯一约束.

3索引组织表是有序的,堆表是无序的。

4只能有一个

5mysql的表就是一张索引组织表,若无主键,InnoDB engine会自动创建一个6字节(48bit)列作为主键。mssql则不会

6当select * 的时候,检索最快,因为叶子节点有全部的数据

非聚集索引NonClustered Index

1叶子节点上保存二个信息:索引字段值,对应聚集索引键值(无聚集索引,则是数据位置的指针)

2select * 浪费性能,需要标签查找。select 非聚集列 则最快复制代码

快问快答——

主键和聚集索引有什么区别?miemiemie~~

3 索引在执行计划中的术语

结构SCAN

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值