15个必知的Mysql索引失效场景,别再踩坑了!
10. is not null:使用is not null时,索引失效。11. not in与not exists:特定条件下,索引失效。12. order by与limit:是否走索引取决于特定条件。13. 参数不同导致索引失效:取决于查询结果与全表数据的比例。14. 其他:Mysql优化器的其他策略可能导致索引失效。15. 其他未提及场景:Mysql优化器...
MySql踩坑:only_full_group_by配置,竟导致所有应用报错?
一个平常的工作日,团队突然遭遇大规模的错误报告,多款应用均显示错误日志,均指向同一问题:MySQL Syntax Exception 错误。具体错误信息如下:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated c...
MySQL日常踩坑之varchar转换
这次坑的根源在于规则7,即所有数据都被转换成了浮点数。为了规避这种情况,重要的是在开发规范中明确禁止书写可能引发隐式类型转换的SQL语句。在处理这类特性时,重要的是认识到每个数据库都有其独特性。虽然MySQL的这一特性可能在某些情况下看似不当,但合理使用可以带来意想不到的效果。同样,如果使用...
mysql数据库ON UPDATE CURRENT_TIMESTAMP 踩坑实录
上周五在saas环境例行迭代发版过程中,一切顺利。然而,验证阶段产品经理发现了一个严重问题:业务表的日期字段全被更新成同一时间,这引起了高度重视。由于涉及到众多客户,迅速采取行动,分为两支队伍,我负责数据恢复,同时加入问题排查。在恢复数据后,通过对比字段更新的时间戳,发现未执行涉及被改字段的...
CentOS7.9安装mysql-8.0.36踩坑小记
1. 排错记录 执行.\/mysqld --initialize初始化命令后,出现报错,提示某些so文件版本过低。我检查了libstdc++.so.6库版本,发现缺少GLIBCXX_3.4.20等几项。于是,我从公司其他服务器上拷贝了6.0.25版本的libstdc++.so替换,初始化成功,报错减少。然而,替换其他so文件时,发现基础命令都无法执行,...
聊聊spring事务失效的12种场景,太坑了
多线程调用同样可能导致事务失效。在多线程环境下,每个线程可能拥有不同的数据库连接,导致事务控制的不一致性。为了避免这种情况,确保事务在同一个线程中执行,以保持数据的一致性。在MySQL 5之前,使用MyISAM引擎可能导致事务失效。MyISAM虽然性能较好,但不支持事务和行级锁定,因此在需要跨表操作的场...
SQL踩坑记录-Update多个字段
最近遇到了把我坑惨的一个update语句:update apps set owner = '10011' and owner_name = 'xiaoming' where owner_code = '10010' and owner_name = 'lihua';在MySQL里面update一条记录,语法都正确的,但记录并没有被更新...刚遇到这个问题的时候,我拿到这条语句直接在测试库里面执行了好几...