用EXPLAIN看MySQL的执行计划时经常会看到Impossible WHERE noticed after reading const tables这句话,意思是说MySQL通过读取"const tables",发现这个查询是不可能有结果输出的.比如对下面的表和数据: create table t (a int primary key, b int) engine = innodb; insert into t values(1, 1); insert into t values(…
阿里云反馈的慢SQL,执行计划返回如下:Impossible WHERE noticed after reading const tables sql很简单: SELECT * FROM deposit_transaction WHERE request_Id = 'XXX' 而且该表的request_id创建了唯一索引:很明显,这个字段是保持幂等操作的,通过数据库的唯一索引实现: 每次数据落地前,都要执行该SQL查询是否记录存在,而数据库做幂等兜底: 如果request_id不存在,竟然没有走…
登录数据库后,选择数据库时发现以下提示, mysql> use testReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A Database changedmysql> 意思是 预读这个库中表以及表列信息,一般原因是当库中表很多,表中数据很大时,就会出现执行use <库名>后半天…
[2019-04-21 10:17:20] [ERROR] [org.hibernate.engine.jdbc.spi.SqlExceptionHelper:144] Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and ne…
可以将以下代码保存为backup.bat,添加计划任务即可. @echo off ,,%" ,%" "D: -uname -pxxxx -P3306 --skip-lock-tables dbname>"D:/db_bakup/db_xx_%yMd%-%hm%.sql" @echo on 也可直接在cmd命令中复制单条语句执行,注意修改为自己的电脑路径. 说明:--skip-lock-tables 如出现Can’t open file when us…