在EXPLAIN分析SQL中,已经可以确定是对客户表customet的全表扫描导致效率的不理想,那么对客户表customer的email字段创建索引,具体如下:

mysql> create index idx_email on customer(email);

创建索引后,再看一下这条语句的执行计划,具体如下:

mysql> explain select sum(amount) from customer a,payment b where 1=1 and a.customer_id = b.customer_id and email ='JANE.BENNETT@sakiacustomer.org';

+----+-------------+-------+------------+------+--------------------+--------------------+---------+----------------------+------+----------+-------------+

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

+----+-------------+-------+------------+------+--------------------+--------------------+---------+----------------------+------+----------+-------------+

| 1 | SIMPLE | a | NULL | ref | PRIMARY,idx_email | idx_email | 153 | const | 1 | 100.00 | Using index |

| 1 | SIMPLE | b | NULL | ref | idx_fk_customer_id | idx_fk_customer_id | 2 | sakila.a.customer_id | 26 | 100.00 | NULL |

+----+-------------+-------+------------+------+--------------------+--------------------+---------+----------------------+------+----------+-------------+

2 rows in set, 1 warning (0.02 sec)

通过分析SQL的rows的结果可以看出,建立索引后对customer 需要扫的行数明显减少(从583行减少到1行),可见索引的使用大大提高数据库的访问速度,尤其再表很庞大的时候,这种优势更为明显。

mysql综合查询索引优化_MySQL数据库SQL优化之确定问题使用索引提高查询效率相关推荐

  1. mysql数据库索引案例_MySQL 数据库案例优化分享-爱可生

    原标题:MySQL 数据库案例优化分享-爱可生 前言 在数据库表结构变更发布之前,我们会和开发沟通索引设计是否合理,发现部分开发同学对于索引设计还是有一些知识盲区.本文把常见的案例记录下来,做个分析, ...

  2. 熟悉mysql数据库设计和性能优化_Mysql数据库性能优化

    Mysql数据库性能优化,可以从下面三点入手: 数据库设计 SQL语句优化 架构优化 一.数据库设计优化 1.适度的违反范式,适度    遵循三大范式就会带来查询时经常需要join,导致查询效率降低 ...

  3. mysql sql优化_MySQL数据库SQL语句优化原理专题(三)

    需求 做过开发的同学,对分页肯定不会陌生,因为很多前台页面展示,为了更好的展示数据,就会用到分页,所以如何写一个高性能的分页SQL语句,是每一个开发人员需要掌握的技能. 分页SQL 这里给大家写一个分 ...

  4. mysql数据库sql优化_MySQL 数据库性能优化之SQL优化

    注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数 IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据 ...

  5. mysql 哈希缓存_MySQL数据库性能优化思路总结

    本文主要是自己记录在MySQL开发学习过程中遇到的数据库新能优化方向 利用缓存 缓存这个方面,可以说是一个技术,也可以说是一个思路和方向 从技术手段上讲 使用一些缓存插件,只需要确定创建.更新缓存的时 ...

  6. mysql sql优化_Mysql的SQL优化指北

    要知道怎么优化首先要知道一条SQL是怎么被执行的 首先我们会连接到这个数据库上,这时候接待你的就是连接器.连接器负责跟客户端建立连接.获取权限.维持和管理连接. MySQL拿到一个查询请求后,会先到查 ...

  7. mysql的limit优化_mysql数据库limit优化例子(百万级数据)

    limit优化对于站长来说是经常会要用到了,同样的数据不同做法可以提升不少的性能了,下面我们来看一篇关于mysql数据库limit优化例子,具体如下. 今天看到一篇文章讲的就是mysql数据有100万 ...

  8. mysql 事务 注意 优化_MySQL日常SQL优化注意事项

    1.在where条件中避免双百分号"%col%" 在MySQL的SQL查询条件中使用"%col%"无法使用索引而进行全表扫描影响查询效率 2.避免函数出现在wh ...

  9. mysql不同的类的个数_Mysql数据库-SQL优化-统计某种类型的个数

    有时我们想统计某种类型有多少个,会用这个SQL.全表扫描之余,还要filesort,耗时1.34秒. mysql> select country,count(*) from t1 group b ...

最新文章

  1. JS正则表达式验证数字
  2. Consul入门06 - 键/值对数据
  3. 机器学习-常见的损失函数比较
  4. 背包九讲之四(混合三种背包问题)
  5. openfire(一):使用idea编译openfire4.2.3源码
  6. [SpringBoot2]错误处理_默认规则
  7. 什么样的领导会给公司造成损失呢?
  8. 关于InnoDB索引长度限制的tips
  9. Redis RDB持久化和AOF持久化及恢复测试
  10. Contacts Journal CRM 1.7 Mac 破解版 Mac上强大的客户关系管理软件
  11. VM中安装虚拟工具Vmware tools
  12. 唯一索引(unique index)的创建和使用
  13. 用cisco服务器添加html,在接入服务器上配置基本 AAA
  14. mybatis 的大于号 小于号 大于等于 小于等于
  15. 《英语语法新思维 基础版1》读书笔记(一)
  16. 微信web中IOS系统手机摇一摇功能实现及问题解决
  17. my.ini文件在哪
  18. Part6---Java创建Hbase表
  19. 《数据结构课程实践》_01_学生成绩档案管理系统_实现
  20. 光大证券自称因异常交易损失约1.94亿元,疑为程序问题!

热门文章

  1. Python Configparser模块读取、写入配置文件
  2. 搭建nfs共享存储服务之二nfs服务端配置
  3. 《PHP精粹:编写高效PHP代码》——1.1节为什么要使用面向对象编程
  4. CentOS 7 firewalld使用简介
  5. redhat6.4 安装oracle 10g error
  6. RHE5服务器配置——Samba服务器
  7. 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第六集
  8. opencv:灰色和彩色图像的像素直方图及直方图均值化的实现与展示
  9. 443. 压缩字符串
  10. leetcode 771. 宝石与石头(set)