delete以后index也会自动更新,但是不释放空间(和table的情况一样)。 alter index index_name rebuild其实是先drop index然后再重建,所以能回收空间。所以trancate效率最高,如果一定要用delete,那建议先drop或者disable index,delete records以后再rebuild,那样效率也比直接从表中delete效率高。
delete以后index也会自动更新,但是不释放空间(和table的情况一样)。 alter index index_name rebuild其实是先drop index然后再重建,所以能回收空间。所以trancate效率最高,如果一定要用delete,那建议先drop或者disable index,delete records以后再rebuild,那样效率也比直接从表中delete效率高。
delete以后index也会自动更新,但是不释放空间(和table的情况一样)。 alter index index_name rebuild其实是先drop index然后再重建,所以能回收空间。所以trancate效率最高,如果一定要用delete,那建议先drop或者disable index,delete records以后再rebuild,那样效率也比直接从表中delete效率高。
It would be ok anyway if you use alter index index_name rebuild . It will reclaim the space .
alter index index_name rebuild其实是先drop index然后再重建,所以能回收空间。所以trancate效率最高,如果一定要用delete,那建议先drop或者disable index,delete records以后再rebuild,那样效率也比直接从表中delete效率高。
alter index index_name rebuild其实是先drop index然后再重建,所以能回收空间。所以trancate效率最高,如果一定要用delete,那建议先drop或者disable index,delete records以后再rebuild,那样效率也比直接从表中delete效率高。
alter index index_name rebuild其实是先drop index然后再重建,所以能回收空间。所以trancate效率最高,如果一定要用delete,那建议先drop或者disable index,delete records以后再rebuild,那样效率也比直接从表中delete效率高。
alter index index_name rebuild . It will reclaim the space .
由于表中记录比较多,但是删除的只是其中一部分数据。如果使用Drop index,然后再rebuild,会去处理那些并不需要改动的记录。有什么比较好的办法吗?
我的数据库就其中一个表非常大,一个月会有5000万条数据,其他的表都不超过100万。所以我单独为最大的表建了一个表空间,用多个数据文件(CPU个数的倍数,放在不同的磁盘上),其它的表放在另外一个表空间上。分区真的能产生很明显的效果吗?
不过我觉得很好的SQL语句也能提高不少
但只在ORACLE8以上的企业版中提供.
做了分区表后数据的查询速度会有很大的提高,同时对数据的管理例如:删除,导入,导出也很方便.建议试试.