mysql管理语句

1.查询执行中的语句

SELECT * FROM information_schema.processlist WHERE state LIKE '' and info like '';

state是语句的执行状态,比如metadata lock是等待获取元数据锁,info是执行的语句

  1. 查询正在操作某个表的连接,并且批量生成kill语句

SELECT

CONCAT('KILL ', t.PROCESSLIST_ID

, ';') AS kill_command

FROM performance_schema.metadata_locks AS ml

JOIN performance_schema.threads AS t

ON ml.OWNER_THREAD_ID = t.THREAD_ID

WHERE ml.OBJECT_SCHEMA = ''

AND ml.OBJECT_NAME = ''

ORDER BY ml.LOCK_STATUS DESC;

OBJECT_SCHEMA是数据库名称,OBJECT_NAME是表名称。

  1. kill某个连接

kill processlistId

processlistId是第二步查询出来的连接ID

  1. 更改自增主键的值

ALTER TABLE table_name AUTO_INCREMENT = %d;

  1. 重命名表
    RENAME TABLE old_table TO new_table;

重命名表是非常快速的操作,对于千万行级别表,也只需要两分钟左右的时间。

  1. 执行数据迁移的顺序

a. 建立和源表结构一致的新表,但是先不建立索引(为了快速实现数据迁移)

b. 进行数据迁移 insert into new_table(column_names) select column_names from old_table where conditions;

c. 建立索引

对于百万行数据,步骤b大约需要15分钟,步骤c单个索引,大概需要两分钟。

相关推荐
静听山水8 小时前
StarRocks查询加速
数据库
静听山水8 小时前
StarRocks高级特性
数据库
范纹杉想快点毕业8 小时前
从单片机基础到程序框架:全方位技术深度解析
数据库·mongodb
晚风_END8 小时前
Linux|操作系统|elasticdump的二进制方式部署
运维·服务器·开发语言·数据库·jenkins·数据库开发·数据库架构
devmoon8 小时前
Polkadot SDK 自定义 Pallet Benchmark 指南:生成并接入 Weight
开发语言·网络·数据库·web3·区块链·波卡
数据知道8 小时前
PostgreSQL 故障排查:紧急排查与 SQL 熔断处理(CPU 占用 100% 等情况)
数据库·sql·postgresql
静听山水8 小时前
Redis的Pipeline (管道)
数据库·redis·php
数据知道8 小时前
PostgreSQL 性能优化: I/O 瓶颈分析,以及如何提高数据库的 I/O 性能?
数据库·postgresql·性能优化
繁华落尽,寻一世真情8 小时前
【基于 AI 的智能小说创作助手】MuMuAINovel-sqlite 基于 AI 的智能小说创作助手
数据库·人工智能·sqlite
存在的五月雨8 小时前
Spring Security认证流程
java·开发语言·mysql