在Oracle sql数据库中,我们系统中的一个进程从表中删除(未截断)大约200万行。这导致大量“浪费的行”,导致在该表上运行的查询花费9个小时以上的时间,通常要花5分钟以上的时间。经过检查,我们发现实际行的总数约为2600MB,而包括“浪费的行”在内的整个表的大小为3700MB。
请让我知道删除行然后摆脱“浪费的行”的最佳方法是什么,这样我们就不必每次都重新构建表。
让我们使用通过一些数据创建的测试表来模拟您的案例