美文网首页
工作中SQL优化实例1

工作中SQL优化实例1

作者: 换煤气哥哥 | 来源:发表于2019-02-14 17:40 被阅读0次
CREATE TABLE `c_done_code` (
  `done_code` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '业务流水号',
  `login_sn` bigint(20) DEFAULT NULL COMMENT '登陆流水号(从服务端session信息中提取)',
  `busi_code` int(11) DEFAULT NULL COMMENT '业务编号',
  `user_id` int(11) DEFAULT NULL COMMENT '用户id',
  `program_id` int(11) DEFAULT NULL COMMENT '节目id',
  `room_id` int(11) DEFAULT NULL COMMENT '直播间id',
  `create_date` datetime DEFAULT NULL COMMENT '创建时间',
  `user_type` varchar(20) CHARACTER SET utf8 DEFAULT '' COMMENT '操作时点的用户类型(用于区分是否管理员操作的记录)',
  PRIMARY KEY (`done_code`)
) ENGINE=InnoDB AUTO_INCREMENT=10980079 DEFAULT CHARSET=utf8mb4;

慢SQL,原表有1000W+的数据,Limit中的offset过大,光扫描就4775382行。执行时间达到了11秒

SELECT * FROM c_done_code WHERE user_type = 'VIEWER' ORDER BY done_code ASC LIMIT 2000000,10;
2019021401.png

优化

  1. 添加复合索引 KEY idx_user_type_done_code (user_type,done_code) USING BTREE。注意字段顺序不能颠倒
  2. 子查询优化,时间提升为0.7秒
SELECT
    c.*
FROM
    (
        SELECT
            done_code
        FROM
            c_done_code
        WHERE
            user_type = 'VIEWER'
        ORDER BY
            done_code ASC
        LIMIT 2000000,
        10
    ) a
LEFT JOIN c_done_code c ON a.done_code = c.done_code;
2019021402.png

相关文章

  • 工作中SQL优化实例1

    慢SQL,原表有1000W+的数据,Limit中的offset过大,光扫描就4775382行。执行时间达到了11秒...

  • Mysql 优化

    1.Sql优化 1)sql优化分析2)索引优化3)sql语句优化4)一些常用的技巧优化 (正则、函数) 2.优化数...

  • mysql数据库优化

    1. Mysql优化介绍 1.1 sql优化 a. sql优化分析b. 索引优化c. 常用sql优化d. 常用优化...

  • hive sql优化实例

    Hive中SQL的优化技巧,核心思想是避免数据倾斜。 1、避免在同一个查询中同时出现count, distinct...

  • MySQl优化学习笔记(七)SQL优化简介

    一、SQL优化简介 1、我们平时说的SQL优化就是优化SQl语句和索引(通俗说就是使用什么样的SQL语句能够让索引...

  • 常用sql优化2019-09-27

    sql优化 sql优化.................................................

  • MySQL Explain

    mysql执行计划 在日常工作中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句...

  • MySQL优化策略

    1、 sql优化 1.1 SQL 语句简化,简化是 SQL 优化的一大利器,因为简单,所以优越。 1.2 尽可...

  • SQL锁优化问题

    关于SQL锁。SQL优化少不了SQL锁优化 1.SQL常见锁有:共享锁 作用于查询操作(Select) 2.排他锁...

  • Java面试题:数据库优化策略有哪些?

    1、Sql优化主要优化的还是查询, 优化查询的话, 索引优化是最有效的方案。 首先要根据需求写出结构良好的SQL,...

网友评论

      本文标题:工作中SQL优化实例1

      本文链接:https://www.haomeiwen.com/subject/hfcyeqtx.html