相关疑难解决方法(0)

Oracle 11G - 插入索引的性能影响

客观的

验证插入没有 PK/index 的记录加上 create thme 是否比使用 PK/Index 插入快。

注意
这里的重点不是索引需要更多时间(很明显),而是总成本(不带索引的插入+创建索引)高于(带索引的插入)。因为我被教导在没有索引的情况下插入并稍后创建索引,因为它应该更快。

环境

戴尔 Latitude 核心 i7 2.8GHz 8G 内存和 SSD 硬盘
Oracle 11G R2 64 位上的 Windows 7 64 位

背景

我被教导在没有 PK/索引的情况下插入记录并在插入后创建它们会比使用 PK/索引插入更快。

然而,使用 PK/Index 插入 100 万条记录实际上比稍后创建 PK/Index 更快,大约 4.5 秒 vs 6 秒,下面的实验。通过将记录增加到 300 万(999000 -> 2999000),结果是一样的。

状况

  • 表 DDL 如下。一个用于数据和索引的大文件表空间。
    (测试了一个单独的索引表空间,结果相同,整体性能较差)
  • 每次运行前冲洗缓冲液/线轴。
  • 每次运行实验 3 次,并确保结果相似。

要刷新的 SQL:

ALTER SYSTEM CHECKPOINT;
ALTER SYSTEM FLUSH SHARED_POOL;
ALTER SYSTEM FLUSH BUFFER_CACHE;
Run Code Online (Sandbox Code Playgroud)

“稍后插入 PK/Index + PK/Index 创建”比“插入 PK/Index”是否真的是真的?

我是否在实验中犯了错误或遗漏了某些条件? …

oracle indexing insert database-performance oracle11gr2

5
推荐指数
1
解决办法
8643
查看次数