`
m635674608
  • 浏览: 5043049 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

多列索引生效规则

 
阅读更多

btree索引的常见误区 
在where条件常用的列上都加上索引 
比如:where cat_id=3 and price>100 #查询第3个栏目,100以上的商品 
只能用上cat_id或price索引,因为独立的索引同时只能用上1个。

多列索引生效规则 
多列索引发挥作用,需要满足左前缀要求。

以index(a,b,c)为例:

语句                                    |     索引是否发挥作用
-   -   -   -   -   -   -   -   -   -   -   -   -   -   -   
where a=3                             |     是
where a=3 and b=5                     |     是
where a=3 and b=5 and c=4             |     是
where b=3                             |     否
where c=4                             |     否
where a=3 and c=4                     |     a列能用到索引,c不能
where a=3 and b>10 and c=7            |     a能,b能,c不能
where a=3 and b like 'xxx%' and c=7   |     a能,b能,c不能



分享到:
评论

相关推荐

    深入浅出Mysql优化性能提升.txt

    06-多列索引生效规则.wmv 07-多列索引实验.wmv 08-商城多列索引实验.wmv 09-聚簇索引概念.wmv 10-聚簇索引随机主键值的效率.wmv 11-索引覆盖.wmv 12-某聚簇索引排序慢案例分析.wmv 13-索引长度与区分度.wmv 14-伪...

    CSS 2.0中文手册(含索引)

    CSS 2.0是网页样式设计的重要标准,它允许我们独立于内容来控制网页的呈现样式,包括字体、颜色、布局和更多其他元素。 ### CSS 2.0核心概念 1. **选择器(Selectors)**:选择器用于定位HTML或XML文档中的元素,...

    数据库运维考试资料.doc

    23. **多列索引**:在创建多列索引时,可以通过指定`ASC`或`DESC`来决定排序方向,例如`CREATE INDEX idx_student ON student (id ASC, name DESC)`。 以上就是从提供的考试资料中提炼出的关于数据库运维的关键知识...

    100道MySQL数据库经典面试题

    最左前缀原则(索引生效遵循从左到右的顺序);索引下推(减少回表操作)。 2. **死锁问题及解决**: - **排查步骤**:查看死锁日志`show engine innodb status;`;找出死锁SQL;分析SQL加锁情况;模拟死锁情况;...

    Oracle DB优化总结

    2. **索引概念**:索引包含了表中指定列的值,通过这些值可以直接定位到数据所在的块,无需全表扫描。 3. **创建语法**:创建B树索引的基本语法是:`CREATE INDEX index_name ON table_name (column_name);`,函数...

    数据库规范_.docx

    在索引命名时,需要遵守以下规则: * 索引命名以“IDX_”开头;后面加上表名(去掉 T_ 部分);并补上建立索引的字段名称。 * 如果长度太长,可以进行适当的缩减。 * 要求,通过索引能够看出是哪张表的哪个字段的...

    Oracle数据库规范

    ### Oracle数据库规范详解 #### 一、概述 Oracle数据库规范是针对Oracle...以上内容详细介绍了如何合理设置存储参数、事务参数、列设计以及索引管理等方面的关键点,有助于开发者和DBA更好地管理和维护Oracle数据库。

    git使用.gitignore设置不生效或不起作用问题的解决方法

    4. **重复的规则**:在`.gitignore`文件中,如果一个文件或模式被多次指定,那么最后出现的规则会覆盖前面的。在案例中提到的`config.*`和`config.py`,如果`config.py`被`config.*`涵盖,那么单独列出`config.py`是...

    css2.0 中文参考手册.chm

    4. **多列布局**:通过`column-count`和`column-gap`等属性,CSS2.0使得在网页中创建多列布局成为可能,从而改善了阅读体验。 5. **颜色和背景**:提供了更丰富的颜色表示方法,包括十六进制、RGB、RGBA等,并引入...

    MySQL 入门到高级:基础篇 下篇-尚硅谷 2021年

    触发器是在特定事件(如INSERT、UPDATE或DELETE)发生时自动执行的代码段,用于实现业务规则和约束。 七、视图与游标 视图是虚拟表,它基于一个或多个表的查询结果,提供了一种简化数据访问的方式。游标允许逐行...

    09oracle约束.pptx

    主键是一列或多列的组合,其值在表中是唯一的,不可为空。在Oracle中,我们可以使用`PRIMARY KEY`约束来定义主键。例如,`book_id`可能被定义为主键,确保每本书都有唯一的标识。 3. 参照完整性:参照完整性确保了...

    国家开放大学 4046《数据库运维》考试资料精简版.docx

    在国家开放大学的4046《数据库运维》课程中,涵盖了MySQL数据库的相关知识,包括变量设置、数据库核心概念、SQL模式、索引、视图、日志等多个方面。 MySQL动态设置变量是一个关键概念,它允许在运行时调整数据库的...

    用 C# Builder 开发 DB2 Web 应用程序的5条性能法则

    确保为经常用于查询条件的列创建索引。不过,也要注意过度索引可能导致插入、更新和删除操作变慢。针对大量记录的表,合理设计索引策略至关重要。 3. 原则3:批处理与缓存 批量处理可以减少与数据库的交互次数,...

    Oracle.SQL必备参考

    通过创建索引,可以加快对表中特定列的查找速度。Oracle支持B树索引、位图索引、函数索引等多种类型的索引,选择合适的索引类型可以显著优化查询性能。 此外,视图是Oracle SQL中的一个重要特性,它允许用户创建...

    HTML参考手册

    层叠规则则决定了当多个样式冲突时,哪个样式生效。 5. CSS3新特性 CSS3进一步增强了样式表的功能,包括但不限于:边框半径(border-radius)、阴影(box-shadow)、渐变(gradients)、动画(animations)、转换...

    DB2错误代码提示

    这表示PLANTABLE的定义中存在错误,可能是因为列的定义不符合规则或存在冲突。 ##### SQLDA问题 - **+236 / 01005**:SQLDA中的SQLN的值至少应与所描述的列的个数一样大。这表示SQLDA结构中的SQLN字段值小于实际列...

    MySQL必知必会(文字版)_MYSQL_

    - 触发器是在特定事件(如INSERT、UPDATE、DELETE)发生时自动执行的SQL语句集合,用于实现业务规则。 9. 游标(Cursor) - 游标允许在存储过程和函数中逐行处理结果集,便于在循环或条件判断中操作数据。 10. ...

    css史上最实用的帮助文档.rar,里面有4个chm帮助文件

    CSS的“层叠”意味着当多个规则应用于同一个元素时,浏览器会根据优先级确定哪个规则生效。继承则是指子元素可以自动继承父元素的一些样式,如字体和颜色,但并非所有属性都可继承。 3. **CSS布局** 布局是CSS中...

    CSS2中文手册(CHM)

    10. **多列布局**:虽然CSS3的多列布局更强大,但CSS2也有简单的列布局方案,如`column-count`和`column-gap`属性。 通过这个CSS2中文手册,读者可以深入理解这些概念,并学会如何编写有效的CSS代码来美化和控制...

Global site tag (gtag.js) - Google Analytics