创建限制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. .net 移动mas短信接口开发

    接口文档下载 1.移动后台接入用户新增(选择HTTP协议) 2.后台代码 /// <summary>    /// 用户名    /// </summary>    priva ...

  2. CSS3--通过Animation实现简单的手指点击动画

    效果图 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta ...

  3. java HashMap的四种获取key,value的方式

    初学java不久,我觉得这样将学到的东西总结下来非常好,如果有一天有些地方忘记了 可以回过头来翻看,不用来回的找,非常好,也是一个很好的习惯 今天主要将记录获取hashMap的key,value的几种 ...

  4. c++_成员函数回调

    //--------------------------------------------------------------------------- #include <vcl.h> ...

  5. Qt中的多窗体编程

    在某些应用中,会用到多窗体功能,这里就来讨论一下Qt下多窗体功能的实现.本例仍以qt4.8.7版本为例,并基于QtCreator4.6.2环境进行开发.在本例中,以一个能显示实时时钟的第二窗体为例进行 ...

  6. Classical Cipher

    [NPUCTF2020]Classical Cipher 难得做到一道古典密码的题目,打开后有一个flag.zip和一个提示. 解密后的flag请用flag{}包裹 压缩包密码:gsv_pvb_rh_ ...

  7. django搭建简易blog

    目录 下载安装django 创建一个django项目 创建一个django应用 models.py urls.py views.py admin.py 配置应用到项目下 路由设置urls.py set ...

  8. C++ 中的匿名函数(lambda表达式)

    问题引入 使用std::sort函数对自定义类型排序时,我们需要传入一个比较函数作为参数.该比较函数只需要使用一次,但占有一个全局命名域中的名字,而且非常短,短到不需要名字就知道它的作用.这很浪费命名 ...

  9. neo4j与jdk版本【转】

    根据官网的介绍,目前应该是只有这三个版本相当于主流. Version3.5 使用java1.8 Version4.0+ 官方人员说了目前只支持JDK11 Neo4j Desktop 桌面版本的已经包括 ...

  10. nginx通过参数代理到其他站点

    http { include mime.types; default_type application/octet-stream; resolver 8.8.8.8; ##Nginx0.6.18以后的 ...