Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在oracle中删除和截断记录所用的时间_Oracle_Plsql_Oracle9i - Fatal编程技术网

在oracle中删除和截断记录所用的时间

在oracle中删除和截断记录所用的时间,oracle,plsql,oracle9i,Oracle,Plsql,Oracle9i,在oracle中删除和截断43GB的数据需要多长时间?因为truncate是一个DDL命令,它几乎可以立即完成—几乎可以肯定不到几秒钟,除非您有非常多的扩展数据块。当然,这假设截断表是一个有效的选项--TRUNCATE不能回滚,不能应用WHERE子句选择性地删除数据,表不能有任何外键约束,等等 删除表中的每一行需要多长时间取决于您的系统。正如Alex Poole在评论中指出的那样,它将取决于系统负载、索引数量、触发器数量、约束数量等。Truncate将很快(但速度有多快取决于系统负载等);删除会

在oracle中删除和截断43GB的数据需要多长时间?因为
truncate
是一个DDL命令,它几乎可以立即完成—几乎可以肯定不到几秒钟,除非您有非常多的扩展数据块。当然,这假设截断表是一个有效的选项--
TRUNCATE
不能回滚,不能应用
WHERE
子句选择性地删除数据,表不能有任何外键约束,等等


删除表中的每一行需要多长时间取决于您的系统。正如Alex Poole在评论中指出的那样,它将取决于系统负载、索引数量、触发器数量、约束数量等。

Truncate将很快(但速度有多快取决于系统负载等);删除会(可能会慢很多很多),但是如果没有关于平台、数据、索引、触发器、约束、可用的撤消/回滚的信息,任何人都可以猜测删除会慢多少。。。差不多是“一根绳子有多长?”。即使是Oracle文档也只说“使用TRUNCATE语句删除行可能比使用DELETE语句删除所有行更快,特别是当表有许多触发器、索引和其他依赖项时”。谢谢Alex。假设删除43GB数据需要20小时,那么您能告诉我使用truncate时的大致时间吗?不要考虑表的依赖性。谢谢贾斯廷和亚历克斯…这真的很有帮助。。。虽然这似乎是一个简单的问题,但它需要大量的研究,因此我在这里发布。我得到的回应不多,但有价值的回应