目的
验证插入没有PK /索引的记录加上后来创建的记录是否真的比插入PK /索引更快.
注意
这里的要点不是索引需要更多时间(很明显),但总成本(不带索引的插入创建索引)高于(使用索引插入).因为我被教导插入没有索引并且稍后创建索引因为它应该更快.
环境
DELL Latitude核心i7 2.8GHz 8G内存和Windows上的Windows 7 64位SSD硬盘
Oracle 11G R2 64位
背景
我被教导插入没有PK /索引的记录并在插入后创建它们比插入PK /索引更快.
然而,使用PK / Index的100万个记录插入实际上比创建PK / Index更快,大约4.5秒对6秒,下面的实验.通过将记录增加到300万(999000 – > 2999000),结果是相同的.
条件
>表DDL如下.数据和数据的一个bigfile表空间
指数.
(测试了一个单独的索引表空间,具有相同的结果和较差的整体perforemace)
>每次运行前冲洗缓冲液/阀芯.
>每次运行实验3次并确保结果
很相似.
要刷新的SQL:
ALTER SYSTEM CHECKPOINT;
ALTER SYSTEM FLUSH SHARED_POOL;
ALTER SYSTEM FLUSH BUFFER_CACHE;
题
“插入PK /索引PK /索引后创建”比“插入PK /索引”更快吗?
我是否犯了错误或错过了实验中的某些条件?
插入PK /索引记录
TRUNCATE TABLE TBL2;
ALTER TABLE TBL2 DROP CONSTRAINT PK_TBL2_COL1 CASCA