`

mysql中sql语句=,>的时候的索引设置

 
阅读更多

https://www.percona.com/blog/2015/04/27/indexing-101-optimizing-mysql-queries-on-a-single-table/

中,提到了在mysql中,如果在sql语句中有各类=,>等符号,应该如何选择索引做了简单的小结

1) SELECT c1, c2 FROM t WHERE c = 100
   当然建立(c, c1, c2)索引最高效了

2) 多个=的情况
   SELECT * FROM t WHERE c = 100 and d = 'xyz'
  索引应该是(c,d)或者(d,c)

3) 有相等也有不等的情况
   SELECT * FROM t WHERE c > 100 and d = 'xyz'

  这个时候要先(d,c),先选择等于的D在索引顺序前更好

4) 多个相等,不等并存
   SELECT * FROM t WHERE c > 100 and b < 10 and d = 'xyz'
     这个时候,用(d,c)还是(d,b)要看具体情况

5) 有相等并order的情况
SELECT * FROM t WHERE c = 100 and d = 'xyz' ORDER BY b
  原则是首先过滤,再排序,
所以选择建立(d,c,b)(c,d,b)都是不错的选择

6)有不等和order情况
SELECT * FROM t WHERE c > 100 and d = 'xyz' ORDER BY b

   这个时候看具体情况:
(d,b),(d,c)
分享到:
评论

相关推荐

    Effective MySQL之SQL语句最优化

    《Effective MySQL之SQL语句最优化》是由MySQL专家Ronald Bradford撰著,书 中提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧 做了详细的解释。本书希望能够通过一步步详细介绍SQL优化...

    Effective MySQL之SQL语句最优化(高清)

    《Effective MySQL之SQL语句最优化》提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧做了详细的解释。《Effective MySQL之SQL语句最优化》希望能够通过一步步详细介绍SQL优化的方法,帮助...

    mysql优化sql语句的优化(索引,常用小技巧.)

    mysql的优化 数据库(表)设计合理 我们的表设计要符合3NF 3范式(规范的模式) , 有时我们需要适当的逆范式 sql语句的优化(索引,常用小技巧.) 数据的配置(缓存设大) 适当硬件配置和操作系统 (读写分离.)

    MySql常用sql语句

    这是我学习mysql时顺便整理的sql语句,从创建表,修饰表到增删改查、视图、存储过程、触发器、索引、函数、常用的循环、判断。

    Mysql中SQL语句不使用索引的情况

    今天小编就为大家分享一篇关于Mysql中SQL语句不使用索引的情况,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    mysql_SQL语句 学习文档

    适合初学者学习的MySQL数据库语句练习文档,内容还是比较全的 1、表操作 2、视图操作(虚表) 3、索引操作 4、数据库模式操作 5、单表操作 6、多表操作 7、表达式与函数的使用 8、相关子查询 9、关系代数运算 10、...

    查找MySQL中查询慢的SQL语句方法

    下面介绍MySQL中如何查询慢的SQL语句 一、MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log 这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。 2,long_query_time 当S

    MySQL中索引优化distinct语句及distinct的多字段操作

    在一些情况下,MySQL可以使用索引优化DISTINCT操作,但需要活学活用.本文涉及一个不能利用索引完成DISTINCT操作的实例.   实例1 使用索引优化DISTINCT操作 create table m11 (a int, b int, c int, d int, primary ...

    mysql sql语句示例2

    插入、更新、删除、索引、过程和函数、视图、触发器、备份与还原

    MySQL常用的建表、添加字段、修改字段、添加索引SQL语句写法总结

    本文实例讲述了MySQL常用的建表、添加字段、修改字段、添加索引SQL语句写法。分享给大家供大家参考,具体如下: 建表: DROP TABLE IF EXISTS bulletin; CREATE TABLE bulletin( id INT NOT NULL PRIMARY KEY AUTO...

    mysql5.1中文手册

    在SQL语句中使用COLLATE&lt;br&gt;10.3.9. COLLATE子句优先&lt;br&gt;10.3.10. BINARY操作符&lt;br&gt;10.3.11. 校对确定较为复杂的一些特殊情况&lt;br&gt;10.3.12. 校对必须适合字符集&lt;br&gt;10.3.13. 校对效果的示例&lt;br&gt;10.4. 字符集支持影响...

    mysql的explain分析sql语句性能(慢查询和加没加索引)

    mysql的explain分析sql语句性能(慢查询和加没加索引)

    分析Mysql表读写、索引等操作的sql语句效率优化问题

    今天我们分享一些 分析mysql表读写、索引等等操作的sql语句。 闲话不多说,直接上代码: 反映表的读写压力 SELECT file_name AS file, count_read, sum_number_of_bytes_read AS total_read, count_write, sum_...

    MySQL数据库:表的创建和管理Navicat.pptx

    数据库和表的创建和管理 ...Navicat中编写SQL语句创建数据表 Navicat中编写SQL语句修改数据表 Navicat中编写SQL语句删除数据表 表的创建和管理-图形化 navicat图形化创建和管理表 navicat编写sql语句创建和管理表 小结

    分析Mysql表读写、索引等操作的sql语句效率优化问题.doc

    分析Mysql表读写、索引等操作的sql语句效率优化问题

    mysql数据库sql优化

    1. SQL优化 1 1.1. 优化实战 1 1.1.1. 策略1.尽量全值匹配 1 1.1.2. 策略2.最佳左前缀法则 2 1.1.3. 策略3.不在索引列上做任何操作 2 1.1.4. 策略4.范围条件放最后 3 1.1.5. 策略5.覆盖索引尽量用 3 1.1.6. 策略6.不...

    Mysql面试过关!(详解:索引+常用引擎+常见问题+sql调优)

    1、添加索引sql语句 2、查看MySQL中建立的索引是否生效 3、索引失效场景(补充:以下在实际应用中并不会一定导致索引失效,基于mysql不同版本的优化规则) 3.1 在联合索引的场景下,查询条件不满足最左匹配原则 3.2 ...

    【MySQL数据库】一条SQL语句为什么执行这么慢?

    面试高频题目,一条SQL语句为什么执行这么慢? 这其中涉及的知识也是各种各样,今天就让我们来完全剖析这个问题。 一条SQL语句为什么执行这么慢?一、执行偶尔变慢1. 刷脏页,写磁盘2. 还在等锁3. 回滚日志过多二、...

Global site tag (gtag.js) - Google Analytics