mysql 实用语句
-- 查询内存大小
SELECT
TABLE_NAME,
concat(
TRUNCATE (data_length / 1024 / 1024, 2),
' MB'
) AS data_size,
concat(
TRUNCATE (index_length / 1024 / 1024, 2),
' MB'
) AS index_size
FROM
information_schema. TABLES
WHERE
TABLE_SCHEMA = 'demo-test' --数据库名称
> 单循环插入数据 CREATE PROCEDURE test6_insert()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i<10
DO
INSERT INTO test_2(id, user_name, create_time) VALUES (i, CONCAT('mayun',i),FROM_UNIXTIME(
UNIX_TIMESTAMP('2010-04-30 14:53:27') + FLOOR(0 + (RAND() * 63072000))
));
SET i=i+1;
END WHILE ;
commit;
END;;
CALL test6_insert();
//test_2 为相关表名称
> 双循环插入数据 DROP PROCEDURE IF EXISTS pre8;
create procedure pre8()
BEGIN
DECLARE i int;
DECLARE j int;
set i = 2022;
WHILE i < 2023 DO set j = 1;
WHILE j <13 DO
INSERT INTO month(previous_node, next_node, valid,time) VALUES (i, j,1,1);
SET j= j+1; END WHILE;
SET i = i+1;
END WHILE; commit; END;; CALL pre8();
-- 100万数据,占用空间53.57MB,加个普通索引,索引空间25.56MB -- 限制条数查询 0.003s
explain select * from t_user LIMIT 1000,10
-- 0.005s
select * from t_user LIMIT 10000,10
-- 0.031s
select * from t_user LIMIT 100000,10
-- 0.291s
select * from t_user LIMIT 1000000,10
-- 子查询优化 0.160s
select * from t_user WHERE id >= (SELECT id FROM t_user ORDER BY id LIMIT 1000000,1) LIMIT 10
-- 使用JOIN分页 0.158s
select * from t_user t1 INNER join (SELECT id FROM t_user ORDER BY id LIMIT 9000000,10) t2 on t1.id = t2.id;
-- 使用前一次查询的最大ID 0.003s
select * from t_user where id > 999990 ORDER BY id LIMIT 10
-- 没索引优化的情况下的查询效率:0.384s,加了索引后:0.006s
select * from t_user t where user_name like 'mayun100%'
-- OR索引失效:1.545s
select * from t_user t where t.user_name like 'mayun100%' OR t.address = "浙江杭州"
-- like '%xx' %在左边时索引失效:0.521s
select * from t_user t where t.user_name like '%mayun100%'
mysql 实用语句的更多相关文章
- Mysql 实用语句记录
都是工作中遇到的需求,但不是常用sql,特此记录,方便以后使用: 1.将指定列的数据拼起来存到某一列 UPDATE table_name SET b_col_name=CONCAT(b_col_nam ...
- Mysql数据库实用语句集
mysql实用语句 (1).从第0行开始取,取3行(一般用于分页)select * from student limit 0,3 (2).查看当前数据库编码 show variables like ' ...
- 最常用的MySQL命令语句
e良师益友网导读:MySQL数据库是应用最广的数据库之一,在MySQL数据库中有各种各样的命令调用语句,在平常工作中非常实用的命令,对于初学者来说,掌握文中的MySQL命令语句,是非常实用的,下面我们 ...
- mysql sql语句大全(转载)
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 ...
- MYSQL查询语句大全集锦
MYSQL查询语句大全集锦 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA mysql> C ...
- MySQL sql 语句大全
mysql sql语句大全 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql se ...
- MySQL的语句执行顺序
MySQL的语句执行顺序 MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作.其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入 ...
- strace追踪mysql执行语句
一.strace参数 strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用及它所接收的系统信息.追踪程序运行时的整个生命周期,输出每一个系统调用的名字,参数,返回值和 ...
- MySQL 基础语句
MySQL 基础语句 多个知识点 ----------------------------------------------------------------------------------- ...
- MySQL DELETE语句和TRUNCATE TABLE语句的区别
MySQL DELETE语句和TRUNCATE TABLE语句的区别 2010-10-08 16:05 佚名 互联网 字号:T | T 在MySQL数据库中,DELETE语句和TRUNCATE TAB ...
随机推荐
- 【EF Core】主从实体关系与常见实体关系的区别
上次老周扯了有关主.从实体的话题,本篇咱们再挖一下,主.从实体之间建立的关系,跟咱们常用的一对一.一对多这些关系之间有什么不同. 先看看咱们从学习数据库开始就特熟悉的常用关系--多对多.一对一.一对多 ...
- BUUCTF-MISC-面具下的flag(vmdk的解压和Brainfuck与Ook解密)
准备工作 下载附件得到一个一张图片 丢入winhex,发现还有一个flag.vmdk文件 vmdk文件其实是虚拟机使用的硬盘文件 打开kali binwalk -e mianju.jpg 关键步骤 这 ...
- 【pandas小技巧】--拆分列
拆分列是pandas中常用的一种数据操作,它可以将一个包含多个值的列按照指定的规则拆分成多个新列,方便进行后续的分析和处理.拆分列的使用场景比较广泛,以下是一些常见的应用场景: 处理日期数据:在日期数 ...
- 常用c++ STL 汇总
常用STL: vector 变长数组,倍增的思想 初始化: //初始化 vector<int> a; vector<int> a(n); vector<int> a ...
- 使用文件批量find
有时候需要找一批文件传到本地,文件名都不一样.可以先把文件名写到文件里面,一个文件名为一行. 比如: file1.wav file2.wav file3.wav 在命令行执行: for i in `c ...
- 【译】All-In-One Search 在 Visual Studio 17.6 中可用
一体化搜索体验是在17.2预览版中首次引入的,从那以后我们一直在改进它的质量.新的搜索将代码和特性搜索功能合并到一个 UI 中,因此您可以在一个地方找到所需的东西.实时结果和结果预览加速了这个过程,让 ...
- struct(C# 参考)
struct 类型是一种值类型,通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征. 下面的示例显示了一个简单的结构声明. 1 public struct Book 2 { 3 public ...
- 使用Java Xpath 爬取某易云歌曲
本文使用Java xpath 爬取某易云歌曲,并下载至本地. 代码仅用于个人学习使用,欢迎各位大佬提出建议. 1.添加依赖 <dependency> <groupId>cn.w ...
- 搭建LNMP 架构
搭建LNMP 架构 环境准备 lnmp 需要 安装 nginx mysql php 软件 #关闭防火墙 systemctl disable --now firewalld #临时禁用SELinux的强 ...
- MySQL 使用Navicat delete/insert into/update 大量数据表锁死,kill的线程后线程处于killed状态问题解决
MySQL 使用delete/insert into/update 大量数据表锁死,kill的线程后线程处于killed状态问题解决 实际生产环境问题描述: 使用Navicat备份BigData数据表 ...