惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
小众软件
小众软件
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
宝玉的分享
宝玉的分享
有赞技术团队
有赞技术团队
J
Java Code Geeks
WordPress大学
WordPress大学
The Cloudflare Blog

MySQL

请教大家一个关于 mysql 服务崩溃的问题 数据库连接数超了如何解决 count 的语句优化问题 连接 MySQL 很慢的问题 MYSQL UPDATE 在很短的时间内更新相同的语句,就会有告警,导至事务失败,有没有人遇到这问题? MySQL 磁盘读取飙升,导致阿里云服务器卡死 求 Macos 下面 homebrew 安装 mysql 到指定目录的方法 使用 EXISTS 优化 IN 子查询 什么时候可以将 mysql 默认隔离机制改为读已提交 跨平台的 MySQL Parser MySQL 大表排序有什么好的方案?只能上 Mongo? Mysql 无法修改自增主键的 AUTO_INCREMENT 值 升级服务器后, mysql 性能反而更慢了,求排查思路 《高性能 MySQL》第三版:是否已经过时? 坑爹的字符集问题:踩到了 MySQL 的 bug 两个人的数据开发团队,被要求从零开始治理企业数据 MySQL 8.4 LTS 与 Metabase 奇怪兼容性问题:降级到 8.0.4 后问题解决 (1Panel and BT Panel 复现) 公司内网,怎么搭建主备 mysql,高可用。故障自动切。 不买云服务 mysql 自增 ID 突然变为 int 最大值问题 覆盖还原 data 文件夹后, mysql 无法启动了 生产力工具 各位大佬,有个奇葩的技术问题 关于 mysql trx_id 的疑惑 发帖一问 sql 性能讨论 数据库高频更新问题 谁遇到过没 有啥好的解决方案部 有用过 SyncNavigator 或者类似的简单数据库同步软件吗, mysql 遇到最愚蠢的查询性能问题,求解决 有什么优雅的 mysql 增加字段名的方法呢? 各位 Mysql 大佬,问一个 8.0 版本 json 的问题 数据库中 select for update 和 version 乐观锁各自的适用场景是啥?
mysql online DDL 时间很长,咋整,数据量不多,就 30W
hhhhhh123 · 2025-01-08 · via MySQL

下面是说明和当时场景
mysql 版本 8.0+
当初设计的时候还是欠考虑了。 唉~
sql 中的 date() 函数用的时候一时爽, 现在头大。

我自己的 app 基本上所有的时间查询我都使用了 date 函数 QAQ
现在哭着改代码 QAQ ~
比如

select uid, balance, create_time from day_check_in where date(create_time) = date(%(入参时间)s) and uid = '123';

近期想优化接口,使用 EXPLAIN 一看头皮发麻, 虽然目前数据量不多,但是很难看。

当我翻看文档和搜索后发现 可以使用 online DDL 创建索引的时候 可以尽可能的不影响 CURD 操作,不过一些 特殊的 sql 还是会影响,会等待创建索引后才能执行一些查询。 不过这个问题不大,因为我可以避开这个时间段!

后面我执行了

ALTER TABLE balance_records ADD INDEX index_uid_create_time (uid, create_time)

发现执行了 5 分钟还是没有执行成功。 使用 SHOW PROCESSLIST; 查看 sql 的运行情况,发现没有什么 sql 和创建索引 sql 冲突, 意味着 创建索引 sql 还在执行。

我以为是数据量大的原因, 当我把这个表所有的数据拷贝到 test 库中, 我执行了 创建索引的指令,结果 2 秒就执行完了。
我想知道为啥?
目前一直没有找到问题所在, 我已经尝试了两个表,拷贝的表单都是几秒钟就创建完成了! 唯独开发环境的表没有执行成功。
目前唯一能想到的办法就是在夜深人静的时候,进行停止服务,再执行创建索引操作,也不知道行不行。

有没有大佬知道 为啥我拷贝的表执行几秒钟就执行完了。