使用delete删除数据后,查询很慢,求解?
现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
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来回收
android sqlite数据库 增加、删除、修改,查询系统功能实现
android sqlite数据库 增删改查系统功能实现 数据库创建过程详细,实现了增加、删除、修改,查询的系统功能, 调试成功,可以作为建项目的参考例子,或者直接拿过来使用。


基础和管理
