INDEX--关于索引的琐碎
--=========================================================
更新时的操作
1>更新时有两种方式,一种是在原来的位置更新,另外一种是移除删除再插入。
2>无论采用何种方式更新数据,在触发器中都能使用DELETED和INSERTED表来获取更新前和更新后数据。
--=========================================================
--8亿数据创建非聚集索引时间
数据表中数据:873476300
建立索引耗时:41分39秒
索引键:BIGINT+DATETIME+INT
服务器配置:8核32G内存 7块SAS硬盘做成的RAID5,内存资源不足
--=========================================================
堆表和聚簇表测试
INSERT: 当数据库文件单次增长较小时,聚簇表插入效率会相对高,但当当数据库文件单次增长较大时,数据文件不需要频繁增长,堆表的插入效率略高于聚簇表。
SELECT/UPDATE/DELETE:聚簇表性能高于堆表(聚簇索引被使用时)
表无须额外增加过多空间来存放聚簇索引,只需少量空间存放非叶子节点
--=========================================================
DML操作在聚簇索引和非聚簇索引上的顺序
测试结论:
1>在插入数据时,先插入聚簇索引,再插入非聚簇索引
2>在更新数据时,先更新聚簇索引,再更新非聚簇索引
3>在删除数据时,先将非聚簇索引上数据MARK AS GHOST,然后再将聚簇索引上数据MARK AS GHOST,再删除聚簇索引上数据,最后移除非聚簇索引上数据
--=========================================================
数据的物理顺序和聚簇索引的顺序完全一致吗?
结论:在同一数据页上,数据的顺序和Slot的顺序一致,但数据不一定依次存放在依次递增的数据页上(逻辑碎片)
INDEX--关于索引的琐碎的更多相关文章
- mysql force index() 强制索引的使用
mysql force index() 强制索引的使用 之前跑了一个SQL,由于其中一个表的数据量比较大,而在条件中有破坏索引或使用了很多其他索引,就会使得sql跑的非常慢... 那我们怎么解决呢? ...
- MySQL force Index 强制索引概述
以下的文章主要介绍的是MySQL force Index 强制索引,以及其他的强制操作,其优先操作的具体操作步骤如下:我们以MySQL中常用的hint来进行详细的解析,如果你是经常使用Oracle的 ...
- 基础:从概念理解Lucene的Index(索引)文档模型
转:http://blog.csdn.net/duck_genuine/article/details/6053430 目录(?)[+] Lucene主要有两种文档模型:Document和Fi ...
- 不允许对索引显式地使用 DROP INDEX,该索引正用于 UNIQUE KEY
[转载]http://blog.csdn.net/w87875251l/article/details/7929657 不允许对索引显式地使用 DROP INDEX,该索引正用于 UNIQUE KEY ...
- Lucene——Field.Store(存储域选项)及Field.Index(索引选项)
Field.Store.YES或者NO(存储域选项) 设置为YES表示或把这个域中的内容完全存储到文件中,方便进行文本的还原 设置为NO表示把这个域的内容不存储到文件中,但是可以被索引,此时内容无法完 ...
- ORACLE Index Lookup索引访问路径总结
在ORACLE中,索引访问/查找(Index Lookup)路径有五种方式,分别为INDEX UNIQUE SCAN.INDEX RANGE SCAN.INDEX FULL SCAN.INDEX FA ...
- MySQL 优化之 index merge(索引合并)
深入理解 index merge 是使用索引进行优化的重要基础之一.理解了 index merge 技术,我们才知道应该如何在表上建立索引. 1. 为什么会有index merge 我们的 where ...
- JsRender for index 循环索引使用说明
循环是模版引擎必不可少的一部分,而说起循环,会引出一个至关重要的因素:索引. 所谓索引,即循环次数,通过索引,可以获取当前循环是第几次. 如果读者阅读过官方文档,会见到如下获取索引的方式: data: ...
- Mysql_mysql force Index 强制索引
其他强制操作,优先操作如下: mysql常用的hint 对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法.同样,在mysql里,也有类似的h ...
- PLSQL_性能优化系列13_Oracle Index Rebuild索引重建
2014-10-04 Created By BaoXinjian
随机推荐
- Docker命令大全
1.容器生命周期管理 run 创建一个新的容器并运行一个命令 语法 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin ...
- Centos7 / RHEL 7 双网卡绑定
http://www.cnblogs.com/hukey/p/6224969.html 1. 简要 双网卡绑定技术在centos7中使用了teaming技术,而在rhel6/centos7中使用 ...
- c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存
我们在利用C#开发桌面程序(Winform)程序的时候, 经常需要获取一些跟系统相关的信息, 以下这些代码获取能有些用处. c#中如何获取本机用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统 ...
- web.xml执行顺序
出自:http://blog.csdn.net/u010833154/article/details/50697987 引言:启动java web程序的时候,java web会读取配置文件web.xm ...
- ELK-Stack 最后一次全篇文档
简介: ELK-Stack 日志收集系统.最后一次全篇记录的笔记,之后关于 ELK 的笔记都将是片段型.针对性的. 环境介绍: ELK-Stack:192.168.1.25 ( Redis.LogS ...
- IOS学习经验总结
学习ios有一段时间了,感觉有些盲目.有些迷茫,从网上收集了一些比人的学习经验,来参考. IOS学习经验总结--来自知乎网友 转自知乎:http://www.zhihu.com/question/20 ...
- Hash表算法详解
Hash表定义 散列表(Hash table,也叫哈希表),是根据关键字值(Key value)直接进行访问的数据结构.也就是说,它通过把关键字(关键字通过Hash算法生成)映射到表中一个位置来访问记 ...
- HttpServletResponse返回页面弹窗
下载方法: @RequestMapping(value = "/download.htm") public void downLoadFile(String id,HttpServ ...
- 使用OpenSsl自己CA根证书,二级根证书和颁发证书(亲测步骤)
---恢复内容开始--- 一.介绍 企业自用, 到证书机构签发证书的费用和时间等都可以省下..... SSl证书的背景功用.......(省略万字,不废话) 可以参考: SSL证书_百度百科 X509 ...
- 解剖Nginx·自动脚本篇(7)类型相关脚本系列
1 auto/types/sizeof 该脚本的功能,是通过测试程序获知给定的ngx_type的大小. 1.1 显示提示信息 echo $ngx_n "checking for $ngx_t ...