创建限制0.5个CPU和0.5G内存的MySQL容器

docker run -itd --name mysql --cpu-quota=50000 --memory 512M --rm -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7

创建person表

DROP TABLE IF EXISTS person;
CREATE TABLE person ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name varchar(10) ) ENGINE = InnoDB CHARSET = utf8mb4;

插入10w条记录

DROP PROCEDURE IF EXISTS init_person_data;
DELIMITER $
CREATE PROCEDURE init_person_data()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i <=100000 DO
INSERT INTO person(name) VALUES(CONCAT(CAST(i AS char), 'abc'));
SET i = i+1;
END WHILE;
END $
DELIMITER ;
CALL init_person_data();

跑超慢SQL,耗时26分30秒左右

SELECT DISTINCT p1.name FROM person p1 LEFT JOIN person p2 ON p1.name = p2.name;

mysqld的CPU使用率接近50%

查看mysqld进程打开的业务数据库表文件

lsof -p 20241 | grep "/var/lib/mysql/" | grep -e "\.ibd" | grep -v "/var/lib/mysql/mysql"

test是数据库名字,person是表名字。

查看当前用户正在运行的线程(root可以看到所有)
show full processlist;

说明超慢SQL还没有执行结束。

查询正在执行的SQL的数据库名和表名的更多相关文章

  1. SQL SERVER查询数据库所有的表名/字段

    SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='subject' --表名 1.利用sysobjects系统表 在这个表中,在数据 ...

  2. sql server 查询数据库所有的表名+字段

    SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='Account' SELECT    (case when a.colorder= ...

  3. sql查询数据库中所有表名

    查询数据库里所有表名和字段名的语句SQL 查询所有表名:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'SELECT * FROM INFORMATION_SCHE ...

  4. 使用SQL查询所有数据库名和表名

    使用SQL查询所有数据库名和表名 MySQL中查询所有数据库名和表名 查询所有数据库 show databases; 1 1 查询指定数据库中所有表名 select table_name from i ...

  5. [转载] SQL获取所有数据库名、表名、储存过程以及参数列表

    查询一个数据库中所有表字段属性的sql语句       1.获取所有用户名: SELECT name FROM Sysusers where status='2' and islogin='1' is ...

  6. SQL获取所有数据库名、表名、储存过程以及参数列表

    SQL获取所有数据库名.表名.储存过程以及参数列表 1.获取所有用户名:SELECT name FROM Sysusers where status='2' and islogin='1'islogi ...

  7. SQLserver查询数据库所有字段-表名

    SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='Account' SELECT (case when a.colorder=1 t ...

  8. MySql 查询数据库中所有表名

    查询数据库中所有表名select table_name from information_schema.tables where table_schema='csdb' and table_type= ...

  9. MySql 查询数据库中所有表名以及对比分布式库中字段和表的不同

    查询数据库中所有表名select table_name from information_schema.tables where table_schema='数据库名' and table_type= ...

  10. SQL中如何修改数据库名、表名、列名?

    文章目录 1.SQL中如何修改数据库的名字? 2.SQL中如何修改表的名字? 3.SQL中如何修改列的名字? 4.SQL中如何修改列的数据类型?(未完成,待续) 1.SQL中如何修改数据库名? 语法 ...

随机推荐

  1. Vue中v-model与:value的区别

    v-model不可以加其他值 <input type="text" v-model="curAmount"> :value可以加 单位 <in ...

  2. let 和 var 的区别

    var 关键字 在块级作用域中使用var声明变量,外面同级的块级作用域也可以访问.if.switch.for 等语句的作用域都没有块级作用域,所以说,在这些语句中声明的变量都能被外界访问,这是非常不安 ...

  3. 【深入浅出 Yarn 架构与实现】4-5 RM 行为探究 - 启动 ApplicationMaster

    本节开始,将对 ResourceManager 中一些常见行为进行分析探究,看某些具体关键的行为,在 RM 中是如何流转的.本节将深入源码探究「启动 ApplicationMaster」的具体流程. ...

  4. 计网学习笔记二 Link Layer Service

    在上一周的计网学习了network和Internet的总论.在这一周开始的未来几讲将集中在链路层link layer,并且会有相应的计网lab完成.在这一讲中,我们主要关注链路层提供的服务. 课程资料 ...

  5. Docker和Kubernetes网络模型

    Docker网络模型 Bridge模式(默认) Docker程序启动后会创建一个bridge0网桥,并分配一个IP,可以想象成一个虚拟的交换机,创建的容器实例都会通过虚拟网卡veth pair设备连接 ...

  6. 字典集合:Dictionary

    字典键值对的键是唯一的,如果添加了相同键的项就会抛异常,可以通过索引的方式进行重新赋值 using System; using System.Collections.Generic; using Sy ...

  7. ubuntu 22.04 网络配置ib网卡配置

    第一步:查看Ubuntu版本与内核版本 cat /etc/issue 这说明系统的版本为:Ubuntu 20.04.4 LTS \n \l uname -a Linux gacs-gm-11 5.4. ...

  8. springboot配置ssl变成https证书

    前段时间跳槽了,疫情期间啥也干,回想了这个项目当中的一些新接触的东西记下来,为了方便以后自己看,也给新手提供以下便利.如果这边篇随笔能够给你带来便利,小衲不胜荣幸,如果有错误也欢迎批评指正,大家共同学 ...

  9. Python的100个小技巧

    文章转自:https://mp.weixin.qq.com/s/w5do8QYMkO_gLgPupDdJqg 分享100个Python小技巧,帮助大家更好的了解和学习Python. ▍1.for循环中 ...

  10. nvm安装及使用(windon/mac)

    有必要说一下nvm,因为大家做前端对node都很熟悉吧.前端的很多项目中都依赖node,还有可能每个项目依赖的node版本不一样,这样我们就上了nvm. nvm 是node Version Manag ...