[Oracle]索引对insert和delete操作的影响

主键也是索引的一种,在索引中,不仅存储了索引列上的数据,而且还存储了一个ROWID的值。ROWID是表中一个伪列,是数据库服务自动添加的,表中的每一行数据都有一个ROWID值,它代表这一行的标识,即一行数据在存储空间的物理位置。在访问表中的数据时,都要根据这个伪列的值找到数据的实际存储位置,然后再进行访问。由于索引列上的数据已经进行了排序,在索引中很快能找到这行数据,然后根据RowID就能直接到表中找到这行数据了。

有了索引以后,插入数据时,索引空间也要插相应的值;删数据时,索引空间里也要相应删除。增删时要做的事情多了,自然时间也比没有索引时长。

但是经过实测,给两张四百万级别的表加上主键和索引,与不加时比较,删除速度没有感觉出明显差异,都在5分种上下。倒是连接不到SMTP服务器的邮件部分耗时一分多。

--END-- 2019-11-01 13:58

原文地址:https://www.cnblogs.com/heyang78/p/11776370.html