自建 mysql 的性能问题

2021-01-20 10:58:04 +08:00
 awanganddong

mysql 版本 5.7.31 是直接用宝塔安装的

centos7 系统 4 核 8G 内存。

现在直接执行添加唯一索引的语句已经超过几十分钟 数据库数据 1 万条左右 alter table wx_clues add unique uniq(openid,wx_account_id);

现在想问下 sql 为啥执行慢,有什么优化的方法。

3602 次点击
所在节点    MySQL
24 条回复
encro
2021-01-20 14:07:55 +08:00
1,看服务器性能,负载怎么样;瓶颈在 cpu 还是磁盘还是内存,1 万记录非常少,任何 ssd 应该都是几秒钟即可;
2,可能是锁住了,等待其他进程释放,参考:Mysql 不锁表增加字段和索引方法 https://c4ys.com/archives/1943
PetterZhu
2021-01-20 21:28:15 +08:00
加锁的可能性比较大,1w 条数据,再怎么烂的机器也要不了 10 几分钟,
awanganddong
2021-01-21 10:56:41 +08:00
只有几条数据的表,alter 语句就提示 Waiting for table metadata lock

现在正在追这个问题
awanganddong
2021-01-21 17:10:10 +08:00
SELECT * from information_schema.INNODB_TRX

Kill id(上面查询出来的 trx_mysql_thread_id)

这两条可以查找到死锁的线程 ID

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/746594

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX