mysql 主键倒序查询速度慢_一亿条数据order by主键降序速度很慢

我用sysbench造了1亿条数据,mysql用了30分钟,tidb总共花了3个小时,感觉tidb在批量插入时比较慢,如果后面程序做分页查询会很慢的.

count总数、降序排序也比mysql慢。

tidb 执行时间,count 一亿条数据用了1分22秒多, order by id 升序几毫秒,但desc降序花了9秒多,limit 1000反而比limit 1要快很多:

mysql> select id from sbtest1 order by id desc limit 10;

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

| id |

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

| 100000000 |

| 99999999 |

| 99999998 |

| 99999997 |

| 99999996 |

| 99999995 |

| 99999994 |

| 99999993 |

| 99999992 |

| 99999991 |

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

10 rows in set (9.90 sec)

mysql> select count(id) from sbtest1;

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

| count(id) |

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

| 100000000 |

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

1 row in set (1 min 22.55 sec)

mysql> status;

mysql Ver 14.14 Distrib 5.7.20, for Linux (x86_64) using EditLine wrapper

Connection id: 25

Current database: sysbench

Current user: root@192.168.4.76

SSL: Not in use

Current pager: stdout

Using outfile: ''

Using delimiter: ;

Server version: 5.7.1-TiDB-v1.1.0-alpha-195-g8a5b8d5 MySQL Community Server (Apache License 2.0)

Protocol version: 10

Connection: 192.168.4.76 via TCP/IP

Server characterset: latin1

Db characterset: utf8

Client characterset: utf8

Conn. characterset: utf8

TCP port: 4000

mysql 执行时间,count 一亿条数据用了34秒多, order by id 降序只花了几十毫秒:

mysql> select id from sbtest1 order by id desc limit 10;

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

| id |

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

| 100000000 |

| 99999999 |

| 99999998 |

| 99999997 |

| 99999996 |

| 99999995 |

| 99999994 |

| 99999993 |

| 99999992 |

| 99999991 |

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

10 rows in set (0.01 sec)

mysql> select count(id) from sbtest1;

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

| count(id) |

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

| 100000000 |

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

1 row in set (34.55 sec)

mysql> status;

mysql Ver 14.14 Distrib 5.7.20, for Linux (x86_64) using EditLine wrapper

Connection id: 284

Current database: sysbench

Current user: root@192.168.4.76

SSL: Cipher in use is DHE-RSA-AES256-SHA

Current pager: stdout

Using outfile: ''

Using delimiter: ;

Server version: 5.7.20 MySQL Community Server (GPL)

Protocol version: 10

Connection: 192.168.100.19 via TCP/IP

Server characterset: latin1

Db characterset: latin1

Client characterset: utf8

Conn. characterset: utf8

TCP port: 3306

Uptime: 4 days 6 hours 9 min 57 sec

Threads: 3 Questions: 274077 Slow queries: 0 Opens: 3504 Flush tables: 1 Open tables: 299 Queries per second avg: 0.745

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python切片逆序_Python 的逆序同时切片如何操作?

Python 的切片,语法是这样的a[[start]:[end][:[step]]]其中索引为 end 的元素不会被包括进来。start、end、step 和 step 前面的冒号都可以省略。这么多可以省略的,那么解释器是怎么设置默认值的呢?解释器对正序和逆序切片的默认值设置是不一…

camunda流程定义表无数据_创建流程实例时 act_ru_identitylink 表中没有出现相关的人员数据...

老师您好,我对流程实例有两个问题:创建流程实例的方法,视频中给出的是ProcessInstance processInstance runtimeService.startProcessInstanceByKey("Process_1", "business_id");请问这个方法和如下所示的方法有什么区…

静态网页托管_求职季,教你制作一份精美的在线网页简历,程序员必看!!

引言近期和学弟交流了一下找实习的相关的话题,谈到了简历这块。虽然近期没有找工作的打算,但还是会不定期的更新自己的简历。于是将自己的简历分享了一下,没想到得到了这样的评价,心里还是挺高兴的。简历的形式是一个在线的静态网…

mysql代码不熟_mysql存储过程的错误,语法不熟,找了好久没找到错误。。。

CREATEPROCEDUREupdate_pointer()begin/*done为1执行异常,停止执行*/DECLAREDoneINTDEFAULT0;DECLAREnowtimeINT;DECLAREyuefloat;DECLAREuidint;DECLAREyqmoneyfloat;DECLAREsummone...CREATE PROCEDURE update_pointer()begin/*done为1执行异常,停止执…

python axes_浅谈matplotlib.pyplot与axes的关系

最近在学习数据可视化,梳理一下其中一些诸如pandas绘图、matplotlib绘图、pyplot(plt)、axes等概念。重要的事情说三遍:axes不是axis!axes不是axis!axes不是axis!重要的事情说三遍:pyplot是接口不是对象&am…

protobuf2和3同时安装_安装protobuf可能遇到的问题

http://code.google.com/p/protobuf/downloads/list安装:unzip protobuf-2.3.0.zipcd protobuf-2.3.0./configuremakemake checkmake install1.每步在执行过程中注意权限问题,有的命令不sudo执行会出问题。./configuremakemake checkmake install2. 执行…

python制作考试系统_Python系统学习 - Pytest单元测试框架

哈咯,大家,我们今天来学习pytest单元测试框架,这个框架要比unittest更加易于使用,结构性也更加好,希望大家能够从中学习到有用的东西,然后在下一章,我们来使用pytest单元测试框架来搭建一个web自…

python分析推特_用Python关注者的关注者抓取Twitter数据的最快方法

我在用Python在Twitter上做一个关于用户社交关系的研究。在问题是“什么是最快的方式抓取某个用户的关注者信息”我搜索了很多信息,目前正在使用Tweepy:c tweepy.Cursor(api.followers_ids, idcentre, count5000).items()while True:try:followers_ids_…

python修复不了_如何修复Python代码?

当您将变量定义为str()时,就是将它们分配给一个空字符串(尝试在命令shell或IDLE中运行str(),然后查看其返回值)。在然后,使用input()函数,您将为某些字符串重新定义变量,并且在if语句中,您将使用这些比较运…

为什么不可以使用哈曼顿距离_K-means真的不能使用曼哈顿距离吗?

问题说到k-means聚类算法,想必大家已经对它很熟悉了,它是基于距离计算的经典无监督算法,但是有一次在我接受面试时,面试官问了我一个问题:“k-means为什么不能使用曼哈顿距离计算,而使用欧式距离进行计算&a…

linux 查看进程_Linux怎么查看和监控每个进程的实时流量

请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号**“智传网优”**直接开始自助**视频学习**1. 前言NetHogs是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。来自NetH…

mysql修改密码1820_mysql5.7初始化密码报错ERROR1820(HY000):YoumustresetyourpasswordusingALTERUSERstateme...

1,mysql5.6是密码为空直接进入数据库的,但是mysql5.7就需要初始密码cat /var/log/mysqld.log | grep password或者:grep temporary password /var/log/mysqld.lo2,然后执行 mysql -uroot -p,输入上面的到的密码进入&am…

idea集成python_IDEA集成Python插件,SDK配置

(第一次写在博客园添加随笔, 会有些生硬,有不对的地方和描述错误之处希望可以指出)最近在学习一个新的知识点,涉及到Python的使用,因为第一次接触很多地方都不是很明白 ,好,废话不多说,现在直接…

python 弹窗不阻断线程_Javascript 如何阻断程序的运行

通常情况下 JavaScript 是单线程的,一段 Js 程序的运行会占满整个程序进程,我们通常会想方设法的通过异步编程来减少程序的阻塞,那么我们今天反其道而行之,看看通过怎么样正常的方式来阻塞 Js 运行。无限循环单线程的 JavaScript …

linux复制文件夹到另一个目录_Linux|一个命令行统计给定目录中有多少个子目录,学浪计划...

wc命令用于统计指定文件的字节数、字数、行数、并将统计结果显示出来。一般格式: wc [选项] [文件]选项:-c,--bytes 统计字节数-l,--lines 统计行数-w,--words 统计字数ls命令-l 以长格式显示文本的详细信息。-R 表示递…

mysql源码安装分析_MySQL源码分析(0):编译安装及调试(转)

编译安装为了实现MySQL的更高级别的性能调优,我们通常需要理解其内部实现机制,并对其进行优化调试。在下面的系列中,我们会分别介绍MySQL的部分内部实现机制。首先我们介绍如何从源代码部署一台MySQL服务器。1.下载MySQL Community Server源码…

前端做后台管理系统有前途吗_关于后台管理系统前端项目的思考

开发后台管理系统是大部分前端开发人员接触过的项目,如何更好的进行项目的搭建、组件的开发、数据结构的设计等等,这些都是需要考虑的问题。以下是我结合一些项目的经历和其他大佬的项目代码与技术分享,做出了对于后台管理系统中前端项目的思…

用python绘制熊猫图案_绘制带有熊猫和Matplotlib的一分钟烛台

给出了以下Pandas数据帧的示例date open high low close volume0 2015-03-13 08:00:00 71.602 71.637 71.427 71.539 0.0002491 2015-03-13 08:01:00 71.541 71.563 71.461 71.501 0.0002152 2015-03-13 08:02:00 71.521 71.537 71.504 71.533 0.0000483 2015-03-13 08:03:00 7…

mysql修改主从复制id_mysql主从复制设置

三、mysql复制master和每个slave是通过unique ID来区分的(server-id选项),而且每个slave需要配置好master的主机名,日志文件名,和日志位置这些可以通过在slave会话中使用命令CHANGE MASTER TO ,存储在slave的master.info文件中--begin1.在mas…

响应式编程优点 有效_什么是响应式编程?

响应式编程是一种通过异步和数据流来构建事物关系的编程模型。这里每个词都很重要,“事物的关系”是响应式编程的核心理念,“数据流”和“异步”是实现这个核心理念的关键。为了帮助大家理解这个概念,我们不妨以APP初始化业务为例来拆解一下这…