当前位置: 首页 > news >正文

复合索引(组合索引)

用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引)。

 

1.何时是用复合索引
在where条件中字段用索引,如果用多字段就用复合索引。比如在查询地址的时候,经常要求输入省,市信息,如果同时在省,市上建立索引,将会提高查询速度。

 

2.对于复合索引,在查询使用时,最好将条件顺序按找索引的顺序,这样效率最高。如:
IDX1:create index idx1 on table1(col2,col3,col5)
"select * from table1 where col2=A and col3=B and col5=D" 索引效果明显
如果是"select * from table1 where col3=B and col2=A and col5=D"
或者是"select * from table1 where col3=B"将不会使用索引,或者效果不明显

 

3.复合索引会替代单一索引么?

复合索引IDX1:create index idx1 on table1(col1,col2) 单一索引IDX2:create index idx2 on table1(col1)
单一索引IDX2作为查询条件和复合索引IDX1作为查询条件的查询速度是几乎一样的,甚至比用复合索引IDX1还要略快(在查询结果集数目一样的情况下);而如果仅用复合聚集索引的非起始列(col2)作为查询条件的话,复合索引IDX1是不起任何作用的。对一张表来说,如果有一个复合索引 on (col1,col2),就没有必要同时建立一个单索引 on col1。如果查询条件需要,可以在已有单索引 on col1的情况下,添加复合索引on (col1,col2),对于效率有一定的提高。

 

相关文章:

  • 前端开发面试知识点大纲
  • Java+Windows+ffmpeg实现视频转换
  • 【算法学习笔记】83.排序辅助 动态规划 SJTU OJ 1282 修路
  • 基于Qt5.5.0的sql,C++备忘录软件的编写
  • IDFactory int类型ID生成器
  • SharePoint 2013 内容部署报错
  • 如何在CentOS6.5中进行PPPOE拨号上网
  • Ubuntu下安装Atom及使用
  • PHP读取超大文件的实例代码
  • YxdIOCP (DIOCP修改版)
  • ocp-051-3
  • java实现多线程的三种方式
  • ava垃圾加收机制和ios的arc有什么区别
  • Linux iostat命令详解
  • 建立完整的单向动态链表(包括初始化、创建、插入、删除、查找、销毁、输出)...
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • [译] React v16.8: 含有Hooks的版本
  • [译]CSS 居中(Center)方法大合集
  • 「译」Node.js Streams 基础
  • angular学习第一篇-----环境搭建
  • Babel配置的不完全指南
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Fabric架构演变之路
  • happypack两次报错的问题
  • javascript 哈希表
  • JDK 6和JDK 7中的substring()方法
  • opencv python Meanshift 和 Camshift
  • overflow: hidden IE7无效
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Terraform入门 - 1. 安装Terraform
  • v-if和v-for连用出现的问题
  • vue脚手架vue-cli
  • 读懂package.json -- 依赖管理
  • 一些关于Rust在2019年的思考
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #QT(TCP网络编程-服务端)
  • #WEB前端(HTML属性)
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (五)关系数据库标准语言SQL
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转载)利用webkit抓取动态网页和链接
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ***监测系统的构建(chkrootkit )
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET/C# 使窗口永不获得焦点
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • /etc/fstab和/etc/mtab的区别
  • /etc/skel 目录作用
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)