一.废话不多说直接上

先看一下我的MySQL版本

SELECT VERSION();

表结构

desc test;

id为自增主键,val为常规索引。

增加1000w数据,测试运行sql文件较快50w数据43s比直接执行sql较快,比跑后端程序快。

SELECT COUNT(*) FROM test;

新建一张表

CREATE TABLE `test` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`val` int(10) NOT NULL,`source` int(10) NOT NULL,PRIMARY KEY (`id`),KEY `val` (`val`)
) ENGINE=InnoDB AUTO_INCREMENT=10859137 DEFAULT CHARSET=utf8

我们,当limit offset rows中的offset很大的时候,会出现效率问题:

SELECT id,val,source FROM test t WHERE t.val=4 LIMIT 3000000,5;

sql优化改写成如下语句:

SELECT t.id,t.val,t.source FROM test t INNER JOIN (SELECT id FROM test WHERE val=4 LIMIT 3000000,5) b ON t.id=b.id;

时间相差很明显。

我们看一下SELECT id,val,source FROM test t WHERE t.val=4 LIMIT 3000000,5的查询过程:

根据到索引叶子节点数据。查询叶子节点上的主键值去簇索引上需要的全部字段值。

类似于下面这张图:

像这样,完全没用用到索引列(就如图所示)会全部查询

看第二个sql,

第一次就用到索引列就(就如图表一样),查询要缩短很多

1000w的数据表,18s执行的SQL优化到0.22s?相关推荐

  1. mysql数据库访问300ms以上_[Java教程]一张900w的数据表,16s执行的SQL优化到300ms?...

    [Java教程]一张900w的数据表,16s执行的SQL优化到300ms? 0 2020-11-20 16:00:16 一,前言 证实 有一张财务流水表,未分库分表,目前的数据量为9555695,分页 ...

  2. 2016/05/13 thinkphp 3.2.2 ① 数据删除及执行原生sql语句 ②表单验证

    [数据删除及执行原生sql语句] delete()  返回受影响的记录条数 $goods -> delete(30);   删除主键值等于30的记录信息 $goods -> delete( ...

  3. Database之SQLSever:SQLSever数据表管理(GUI法/SQL语句命令法两种方法实现建立表、修改表,以及增、删、改、查)之详细攻略

    Database之SQLSever:SQLSever数据表管理(GUI法/SQL语句命令法两种方法实现建立表.修改表,以及增.删.改.查)之详细攻略 目录 一.两种方法建立表.修改表,插入多条数据记录 ...

  4. 查找数据库指定数据的数据表和字段名称SQL语句

     查找数据库指定数据的数据表和字段名称SQL语句 五百年前,因怀璧其罪,她被天下追杀,还连累了唯一的亲人. http://weibo.com/p/23047910076763  在灵魂消散的那一刻 ...

  5. 一张900w的数据表,怎么把原先要花费17s执行的SQL优化到300ms?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:Muscleape www.jianshu.com/p/07 ...

  6. 网络安全篇(数据表单的创建 SQL命令拾遗 数据的SQL注入的防护)

    SQL注入五孔不入,尽管是老技术了,但是依然是重点防护的手段,更多的需要我们数据库开发者细心!! 数据表的演练 1 创建数据表 create database jing_dong charset=ut ...

  7. php执行删除语句代码,ThinkPHP之数据删除和执行原生SQL语句

    一.数据删除 delete() 返回受影响的记录条数 $goods->delete(30);//删除主键值等于30的记录信息 $goods->delete('10,12,14');//删除 ...

  8. mysql 数据表中文转拼音 sql中文转拼音 SQL中文转拼音首字母大写

    这里以城市列表为例 目录 1.导入基础数据 2.创建函数 3. 执行语句 1.导入基础数据 map_city.sql 原始图如下: t_base_pinyin  基础数据对照表 SET NAMES u ...

  9. Recheck Cond filter IO\CPU放大 原理与优化CASE - 含 超级大表 不包含(反选) SQL优化

    标签 PostgreSQL , 全文检索 , 数组 , 不包含 , not in , bitmap scan filter , toast 切片存储 , except , IO , cpu , 放大 ...

最新文章

  1. spring cloud微服务分布式云架构--hystrix的使用
  2. 进程间通信IPC之--共享内存
  3. Ubuntu 18.04.1 搭建Java环境和HelloWorld
  4. 减肥难?别急,精准调控细菌的方法已横空出世!
  5. 全球最具影响力AI机构TOP100排名:中国5所高校1所研究院入围
  6. 关于智能车竞赛程序公正问题的讨论
  7. JavaScript错误:Maximum call stack size exceeded错误
  8. Windows Message Queue(优先队列)
  9. Docker 服务器安装(一)
  10. sed教程入门与实例练习(二)
  11. python自带网页解析器_Python爬虫Chrome网页解析工具-XPath Helper
  12. python 安卓应用层_Android应用层源码阅读笔记--Application
  13. 设为首页 加入收藏 html,如何在网站上添加“设为首页”“加入收藏”
  14. 星环科技多模型数据统一存储的大数据分布式存储平台方案分享
  15. 图像检索:颜色聚合向量(CCV)及matlab实现
  16. linux分析mirna,一篇15分的miRNA芯片文章详细解读 | 文章解读
  17. AT32 MCU低功耗模式--AT_SURF案例19
  18. CDA携手云网德国公司共同打造数据精英的国际化舞台
  19. 摸索 Jenkins 的自动维护方案
  20. fix indent命令实现纳米摩擦及摩擦力计算案例

热门文章

  1. 集美大学计算机专业2020,2020考研调剂:集美大学计算机应用技术专业调剂信息...
  2. 浏览器查看当前网页的源码:view-source
  3. [河北银行 2022 CTF]
  4. Visualvm监控远程机器上的Java程序
  5. 自学Maya靠谱嘛?给初学者的几点建议
  6. NeurIPS 2022|UIUC联合哥伦比亚大学提出VidIL模型,通吃小样本视觉语言任务
  7. 《后现代全栈系统的设计与应用》
  8. Stegsolve.jar工具包准备,避坑指南,教你正确启动Stegsolve
  9. MindMaster:程序员的脑图工具
  10. 动画动漫网址集锦持续更新