查询语句均在Navicat下运行
1.先查询九百万条后的20条数据 就是下面这个语句
select * from usertb limit 9000000,20
mysql 的处理时间是3.09秒
mariaDB的运行时间是1.89秒
2.查询九百万条后的20条数据 根据ID倒序 就是下面这个语句
select * from usertb order by id desc limit 9000000,20
MYSQL用时121.26秒
MariaDB用时75.73秒
3.最后我们换条SQL语句来测试。用下面的SQL语句(MYSQL 常用的优化分页的语句):
select * from usertb where id<(select id from usertb order by id desc limit 9000000,1) order by id desc limit 20
MYSQL 用时3.13秒
MariaDB却用了70秒
为什么呢?个人猜想也是不是MariaDB的子查询没有MYSQL的快?于是再次测试
将上面的语句拆分成两条sql语句在MariaDB里执行查询如下:
select id from usertb order by id desc limit 9000000,1
得出ID是1000000
再查询 select * from usertb where id<1000000 order by id desc limit 20
发现两条SQL语句一起执行的时间也是3秒左右
总结:两个数据库各有优势 找到自己合适的优化方式就好,咱是小白一个 不会优化 以上是无聊时的测试。