sql索引
索引概念
磁盘的IO
磁盘IO是非常高昂的操作,当一次IO时,不光把当前磁盘地址的数据,而是把相邻的数据也都读取到内存缓冲区内,因为局部预读性原理告诉我们,当计算机访问一个地址的数据的时候,与其相邻的数据也会很快被访问到。
索引的数据结构--b+树
索引的原理
对要查询的字段建立索引其实就是把该字段按照一定的方式排序;建立的索引只对该字段有用,如果查询的字段改变,那么这个索引也就无效了,比如图书馆的书是按照书名的第一个字母排序的,那么你想要找作者叫张三的就不能用改索引了;如果索引太多会降低查询的速度。
索引的类型
聚集索引
所谓聚集索引,就是确定表中数据的物理顺序,如上面图书的按书名排列,又或者手机电话簿的联系人按姓氏排列等。它规定了数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。索引存储顺序和数据行的存储顺序是一致的。
非聚集索引
聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,所以在物理上它就没有所谓的顺序可言,也和物理存储顺序无关。
文章最后发布于: 2019-03-28 22:53:43
相关阅读
使用PreparedStatement操作mysql数据库出现中文乱码问
背景: 在使用PreparedStatement执行setString(4, "我是中文");后,通过debug发现中文变成了???;这个肯定是编码问题,然后通过字符串和字
下面我们学习使用docker来部署目前非常流行的博客系统wordpress的运行环境nginxphpmysql(作者wordpress博客www.centos.bz正是运
在互联网发达的今天,每当我们遇到不懂的问题,首先问的就是百度,但是有时候度娘给出的并不是我们想要的答案或者更本搜不到答案,怎么办
ROW_NUMBER() OVER(PARTITION BY bid, axisid ORDER BY endtime DESC) AS rownum
sqlserver 不可修改自动增长列IDENTITY_INSERT
特别注意,这里需要的是一个一个字段写上去,而不能直接 insert into 表名 select * from 表名2 set IDENTITY_INSERT STAFF_LOGIN