mysql insert limit_Mysql Limit 调优
建表与插入数据
SQL对比
基本数据
创建表
CREATE TABLE student
(
id int(10) NOT NULL AUTO_INCREMENT,
name varchar(25) DEFAULT NULL,
age tinyint(2) DEFAULT NULL,
live varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ;
批量插入1百万条数据
DROP PROCEDURE IF EXISTS insert_Stu;
DELIMITER $$
CREATE PROCEDURE insert_Stu(IN max_num INT(10))
BEGIN
DECLARE i INT DEFAULT 0;
REPEAT
SET i = i + 1;
INSERT INTO student (name, age, live) VALUES (rand_string(3), rand_num(), rand_string(6));
UNTIL i = max_num
END REPEAT;
COMMIT;
END $$
DROP PROCEDURE IF EXISTS rand_string;
DELIMITER $$
CREATE FUNCTION rand_string(n INT) RETURNS VARCHAR(255)
BEGIN
DECLARE chars_str VARCHAR(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ';
DECLARE return_str VARCHAR(255) DEFAULT '';
DECLARE i INT DEFAULT 0;
WHILE i < n DO
SET return_str = CONCAT(return_str, SUBSTRING(chars_str, FLOOR(1 + RAND() * 52), 1));
SET i = i + 1;
END WHILE;
RETURN return_str;
END $$;
DROP PROCEDURE IF EXISTS rand_num;
DELIMITER $$
CREATE FUNCTION rand_num()
RETURNS INT(5)
BEGIN
DECLARE i INT DEFAULT 0;
SET i = FLOOR(100 + RAND() * 10);
RETURN i;
END $$
;
call insert_Stu(1000000);
SQL对比
常规分页
select s.* from student s limit 1000000,10;
优化分页
select s.*
from student s
WHERE s.id >= (SELECT s.id FROM student LIMIT 1000000, 1)
LIMIT 10;
最优分页
SELECT s.* FROM student s WHERE s.id BETWEEN 1000000 AND 1000010;
性能对比图
可以看到三种SQL的耗时 ,为什么会有这么大的差距,这主要是MySQL的limit关键字会导致偏移量的原因
mysql insert limit_Mysql Limit 调优相关推荐
- mysql memory=off_MySQL内存调优
原文链接: MySQL Memory Allocation -- by Rick James 原文日期: Created 2010; Refreshed Oct, 2012, Jan, 2014 翻译 ...
- mysql监控、性能调优及三范式理解
@酷勤网-程序员的那点事 <mysql监控.性能调优及三范式理解>下文介绍了关于mysql监控.性能调优及三范式理解的内容.mysql监控.性能调优及三范式理解(来自: 博客园 ) @酷勤 ...
- MySQL 开发日志 -- 性能调优
* mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];选项解析:IN 'log_n ...
- [转]mysql性能的检查和调优方法
[转]mysql性能的检查和调优方法 来源:http://www.sudone.com/linux/mysql_debug.html 作者:Ayou 我一直是使用mysql这个数据库软件,它工作比较稳 ...
- MySQL 索引和 SQL 调优手册
MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等.为了避免混乱,本文将只关注于BTree ...
- MySQL索引和SQL调优手册
MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等. 为了避免混乱,本文将只关注于BTre ...
- mysql的where字句调优_mysql中select和where子句优化的总结
本篇文章给大家带来的内容是关于mysql中select和where子句优化的总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 数据库优化: 1.可以在单个SQL语句,整个应用程序, ...
- mysql binary-mode=1_Mysql 性能调优 二 1
Mysql 性能调优 二 1 关系型数据库中,最耗资源的sql操作: 关联表与排序 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- MySQL数据库监控与调优(2)
索引数据结构 1.二叉树,极端情况有可能会出现在一边的情况,二叉树就变成了链表 2.平衡二叉搜索树(AVL 树) 每个节点的左子树和右子树的高度差不超过1 对于n个节点,数的深度是log2n ,查询的 ...
最新文章
- 面试必备,各种技术知识集大成之项目~
- 新代系统plc梯形图说明书_东莞自动化PLC编程需要多少钱
- 跨域访问被禁止的演示示例
- 【w3cschool】PHP语法简单复习
- idea代码补全_IDEA中有哪些让你相见恨晚的技巧?
- import torch 找不到模块_15天Python入门-15-模块与包
- Node.js入门:文件查找机制
- 即刻app暂停服务?趁现在教你一步一步实现即刻点赞效果
- python建模_python建模实例详解
- 一个萌新关于电脑安装软件错误提示“1402”的应对方法
- VMP.Net 3.5 脱壳
- 基于单片机的红绿黄灯设计(单片机实验交通灯设计)
- 头条是一款遵循材料设计(Material Design)的第三方今日头条客户端, 聚合了新闻/段子/图片/视频/头条号内容, 没有广告, 仅仅只有存粹的阅读, 不断完善中, 采用 MVP + RxJa
- 国内有那些chia矿池,chia矿池排行那几家比较靠谱
- Unity中实现赛车游戏
- 如何实现国外域名调转到国内已备案ip
- 2017年网易实习程序员面试题
- hdu-4933-Miaomiao's Function(BC#4 1003)
- 开机报错0190: critical low-battery error的解决方案
- 微波雷达传感器模块,人体雷达感知存在,场景智能联动
热门文章
- neo4j cypher_Neo4j:Cypher –避免热切
- input发送a.jax_Java EE 7 / JAX-RS 2.0 – REST上的CORS
- Java:可选的可选实现
- 使用Spring Boot和MongoDB构建一个反应式应用程序
- structure101_使用structure101分析软件包的依赖关系
- Zuul 2 –样本过滤器
- 过滤器匹配符包含单词_Hamcrest包含匹配器
- spring tiles_Spring MVC 3模板和Apache Tiles
- javaone_JavaOne 2012:使用HTML5和Java构建移动应用程序
- apache shiro_Apache Shiro第1部分–基础