mysql的delete没走索引?

2024年 5月 28日 52.9k 0

表做了分析和优化:

ANALYZE TABLE Currsession_table;
OPTIMIZE TABLE Currsession_table;

两种写法严重的性能差异:
mysql的delete没走索引?-1
原因rcdate字段类型为datetime
mysql的delete没走索引?-2
mysql的delete没走索引?-3
下面的写法多了.0000毫秒信息,导致类型不同比较没有走索引。
select貌似走了索引,但rows显示还是全表的数据180多万,明显不正常。
delete完全没有走索引。
更换写法后可以看到,如果正常走索引应该就1条记录。
mysql的delete没走索引?-4
mysql的delete没走索引?-5

root@192.168.1.51 [jyc] >explain select count(*) FROM Currsession_table FORCE INDEX(idx_recdate) WHERE recdate explain select count(*) FROM Currsession_table use INDEX(idx_recdate) WHERE recdate explain delete FROM Currsession_table use INDEX(idx_recdate) WHERE recdate < DATE_ADD(SYSDATE(), INTERVAL - (1500/86400) * 86400 SECOND);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'use INDEX(idx_recdate) WHERE recdate explain delete FROM Currsession_table WHERE recdate select count(*) FROM Currsession_table use INDEX(idx_recdate) WHERE recdate select count(*) FROM Currsession_table WHERE recdate explain select count(*) FROM Currsession_table use INDEX(idx_recdate) WHERE recdate explain delete FROM Currsession_table WHERE recdate explain select count(*) FROM Currsession_table WHERE recdate

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论