使用delete删除数据后,查询很慢,求解?

mifantuanzi27 mifantuanzi27 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
场景描述:
现oracle数据库有T表,其中有ID、BATCHID两个字段添加了普通索引。
由于数据增长较快,目前该表中有400W数据。因此设置了一个定时job每天执行一次,该job负责将数据中录入日期早于两天前的数据insert到备份历史表中,同时使用delete语句删除T表中超期数据。

问题:
目前T表中数据为20W左右,但是对无索引的字段做为条件查询时,仍很慢。例如,以某非索引字段A查询用时60s(select * from T where A='' ),查询数据总量时用时87S(select count(*) from T),请问是因为delete语句的原因吗?对于该类需求该如何操作呢?谢谢。
...全文

相关推荐

mysql delete 多表连接删除功能

单个表的删除: DELETE FROM tableName WHERE columnName = value; 删除表内的所有行: 即:保留表的结构、属性、索引 DELETE FROM tablename; DELETE * FROM tablename; 删除同一张表内的所有内容(删除数据、表结构) TRUNCATE customer; 无法报告删除了几行,且只能用于单一表 多表连接删除: DELETE orders,itrms FROM orders,items WHERE orders.userid = items.userid AND orders.orderid = i

weixin_38589795

MyBatisPlus条件构造器带条件删除delete使用示例代码

MyBatisPlus条件构造器带条件删除delete使用示例代码

霸道流氓气质

Oracle表删除大量数据(千万)后查询变慢问题(原因分析)

Oracle表删除大量数据(千万)后查询变慢问题(原因分析)

一片湛蓝

mysql之delete删除记录后数据库大小不变

当DELETE后面跟条件的时候,则就会出现这个问题 delete from table_name where 条件 删除数据后,数据表占用的空间大小不会变。 不跟条件直接delete的时候。 delete from table_name 清除了数据,同时数据表的空间也会变为0 如果已经删除了表数据的很大一部分,或者有很多变化和变长表行(VARCHAR表,VARBINARY、BLOB或文本列)进行了更改,因为删除操作后在数据文件中留下碎片所致。DELETE只是将数据标识位删除,并没有整理数据文件,当插入新数据后,会再次使用这些被置为删除标识的记录空间,可以使用OPTIMIZE TABLE来回收

weixin_38689191

android sqlite数据库 增加、删除、修改,查询系统功能实现

android sqlite数据库 增删改查系统功能实现 数据库创建过程详细,实现了增加、删除、修改,查询的系统功能, 调试成功,可以作为建项目的参考例子,或者直接拿过来使用。

feige9810233
评论 10
收藏 已收藏
分享
返回顶部
mifantuanzi27
基础和管理 17,379 成员 95,111 内容