【摘抄】

当组合索引的第一个索引列(通常成为先导列)没有出现在查询条件中时,一般情况下该索引无法被使用。

组合索引最大的缺点就是当职位一部分索引列赋予了查询条件时,或者所用的比较运算符都是非"="比较运算符时效率非常低下。因此,创建创建性的组合索引设计两个重要的方面:第一,基于什么样的列创建索引;第二,按照什么样的顺序创建索引。

1、离散度与列序之间的关系
如果只在"="比较的情况下,离散度的好坏对列的组合顺序并没有什么大的影响。

2、等值比较对列的组合顺序的影响
事实上,对执行速度影响最大的正式使用非等值比较的查询条件。
在没有为组合索引的第一列赋予使用"="比较查询条件时,即使为后面的列赋予了使用"="查询条件也不会缩减数据的查询范围。

结论上说,
在决定组合索引的顺序上,"="比较运算符比离散度更为重要,应当将其放在最优先的位置考虑。
在决定组合索引列序时,应当结合列的离散度和查询条件来决定最佳组合顺序,从而实现组合索引的最大效能

3、In的垫脚石效果
看看书中的例子:
Select * from Tab1
Where col1 = 'a' and col2 = '222'

Tab1索引Index:Col1+Col3+Col2
上面Sql没有Col3的查询条件,其执行效果:没有为Col3赋予查询条件与为Col3服务Col3 Like '%'查询条件具有相同的效果。那么,Col2的查询条件只能其检验作用。

假设Col3的值只有{1,2,3},
那么,Select * From Tab1 Where Col1='a' And Col2 = '222' And Col3 In (1,2,3);
就能解决上述的问题。

4、对查询范围不构成直接影响的列的添加准则
在为某个组合索引选定列时,首先应该考虑的是对直接缩减查询范围起重要作用的列;其次,对附加性列是否会有利于提高执行效率等相关问题进行全面分析。

转载于:https://www.cnblogs.com/GoGoagg/archive/2011/04/07/2007486.html

海量数据库解决方案2011040701相关推荐

  1. 海量数据库解决方案2011032301

    [摘抄] Hash Join:哈希连接的最大优点就是在连接海量数据表或表中的数据存储比较分散时比较有效 Semi Join:这里是广义半连接,即由各种运算符所构成的子查询与主查询之间的连接. 笛卡尔连 ...

  2. 海量数据库解决方案2011031701

    [摘抄] 执行计划是指从表中读出数据并且生成查询语句所要求结果的查询路径 类型分: 扫描的执行计划 表连接的执行计划 各种运算的执行计划 特殊执行计划 扫描的基本类型: 全表扫描(Full Table ...

  3. 海量数据库解决方案2011030401

    [摘抄] 基于自定义的函数索引 就是基于加工过的逻辑列所创建的索引而已,看来,在创建索引时并不是只能基于表中的物理列来创建索引.(Oracle) 其是基于函数或公式的运算结果而创建的一种B-Tree索 ...

  4. 海量数据库解决方案2011030101

    [摘抄] 索引的真正意义:索引是优化器在制定执行计划时,为了寻找最优化的路径而使用的战略要素. 类型: B-Tree索引 位图索引(Bitmap) B-Tree聚簇索引 哈希聚簇索引 反向键索引 位图 ...

  5. 海量数据库解决方案2011022101

    [摘抄] [From数据的存储结构和特征] 1.所谓的表和索引分离型的存储结构其实就是堆表,即用来存储数据的表和为了快速查找特定数据而使用的索引完全作为不同的对象来存储. 堆表最大特点:数据的存储独立 ...

  6. 重磅!分布式数据库解决方案Apache ShardingSphere毕业成为顶级项目

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 全球最大的开源软件基金会 Apache 软件基金会(以下简称 Ap ...

  7. 分布式数据库解决方案Apache ShardingSphere毕业成为顶级项目

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「ShardingSphere官微」 全 ...

  8. TDSQL:腾讯金融级分布式数据库解决方案

    TDSQL:腾讯金融级分布式数据库解决方案 本博主是腾讯云的使用者与爱好者,前后分别试用了腾讯云服务器.云开发.微搭低代码开发平台,可以说算是见证腾讯的云上历程 本博文将从基础概念.TDSQL介绍.发 ...

  9. 图解大数据 | 海量数据库查询-Hive与HBase详解

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  10. 淘宝海量数据库之二:一致性选择

    众所周知,一致性是数据最关键的属性之一.2000年,Eric Brewer教授在ACM分布式计算年会上指出了著名的CAP理论: Brewer, E. A. 2000. Towards robust d ...

最新文章

  1. java toregex_Java Regex to check Min/Max Length of Input Text
  2. Error when loading the SDK:
  3. linux安装web服务器httpd,Linux_linux构建动态WEB服务器安装篇,基本配置 安装web服务器:httpd-2. - phpStudy...
  4. Ubuntu15.0.4下Torch安装教程
  5. Serverless 解惑——函数计算如何访问 Redis 数据库
  6. Linux中的高级文本处理命令,cut命令,sed命令,awk命令
  7. Emacs学用快捷键
  8. LeetCode—209. 长度最小的子数组
  9. MongoDB学习系列9:MongoDB里的若干规则
  10. 高质量 Android 开发框架 LoonAndroid 详解
  11. Python: 分数运算
  12. Eclipse-eclipse导入新项目后,运行时找不到主类解决办法
  13. 自定义LinkedList实现
  14. 支付宝小程序框架分析
  15. Sphero SPRK+,和星战的 BB-8 一样,这个球也是机器人 | 新玩意 · Apple Store
  16. Win10网卡驱动突然消失
  17. 使用sqliteman导出csv数据修改完并导入
  18. WPF做的金山词霸页面
  19. 电脑不停自动安装垃圾软件怎么办
  20. 知识付费网站源码可开分站一键更新后台数据

热门文章

  1. AS3.0文档类:FLASH右键菜单文档类
  2. 配置 iSQL*Plus
  3. sync in demos
  4. Rational相关工具介绍
  5. ADO.NET 对象模型
  6. python中安装decimal模块_第38天:Python decimal 模块
  7. mysql 数据库隔离级别_彻底搞懂mysql数据库四种隔离级别,实验实战
  8. python实验室公众号_区块链研究实验室 | 使用Python编写Tendermint应用程序
  9. adb卸载手机内置软件
  10. 4.2线程局部变量(Thread-Local Variables)