删除重复记录后的Oracle性能

时间:2014-11-18 11:47:40

标签: sql oracle oracle11g oracle-spatial

我在Oracle 11g R2中有一个表,其中包含大约90,000个空间(地理)记录。由于用户的不良做法,数百条记录被复制。

是否还要在删除重复项之前和之后测量数据库/表的性能?

3 个答案:

答案 0 :(得分:2)

包含90000条记录的表格非常小​​。数以百计的重复数据不到1% - 它的数量也很少“垃圾”。此数量不会产生很大的性能问题(如果您的应用程序具有良好的设计)。我不认为您可以创建测试,显示“之前”和“之后”之间性能的任何显着差异。

此外,您可以删除重复项,然后创建唯一约束以防止此类情况发生。

答案 1 :(得分:1)

衡量Oracle数据库全局性能的一种方法是通过网格控制(也称为企业管理器)的工具来显示许多测量值(CPU,IO,内存等)。

另一种方法是在sqlplus中运行一些典型的查询(使用SET TIMING ON)并比较它们在删除之前和删除之后的响应时间。这是假设"表现"你的意思是这些查询的经过时间。

就像德米特里所说的那样,90,000行是一个非常小的表,只有一小部分重复的行。这些重复的存在与否不太可能产生明显的差异。

答案 2 :(得分:0)

  • i,从源表创建一个临时表(索引为 当然)
  • ii,从临时表(或源,其等)删除重复行后
  • iii,请参阅说明 计划这两个表格,你会得到答案