gpt4 book ai didi

performance - 如果表有大量记录 (400K) 与空表相比,插入速度会慢 4 倍

转载 作者:行者123 更新时间:2023-12-02 07:56:40 25 4
gpt4 key购买 nike

(数据库:Oracle 10G R2)

向表中插入 100,000 条记录需要 1 分钟。但是如果表中已经包含了一些记录(400K),那么需要4分12秒; CPU-wait 也跳起来,“Free Buffer Waits”变得非常高(来自 dbconsole)。

你知道这里发生了什么吗?这是因为频繁的表范围吗?这些表的范围大小为 1,048,576 字节。我有一种感觉,DB 正在尝试扩展表存储。

我真的很困惑。所以任何帮助都会很棒!


这是插入语句:

begin  for i in 1 .. 100000 loop    insert into customer                (id, business_name, address1,                 address2, city,                 zip, state, country, fax,                 phone, email                )         values (customer_seq.nextval, dbms_random.string ('A', 20), dbms_random.string ('A', 20),                 dbms_random.string ('A', 20), dbms_random.string ('A', 20),                 trunc (dbms_random.value (10000, 99999)), 'CA', 'US', '798-779-7987',                 '798-779-7987', 'asdfasf@asfasf.com'                );  end loop;end;

在这里dstat输出 (CPU, IO, MEMORY, NET) for :

  1. 空表插入:http://pastebin.com/f40f50dbb
  2. 包含 40 万条记录的表:http://pastebin.com/f48d8ebc7

v$buffer_pool_statistics 的输出

ID:                       3NAME:                     DEFAULTBLOCK_SIZE:               8192SET_MSIZE:                4446CNUM_REPL:                4446CNUM_WRITE:               0CNUM_SET:                 4446BUF_GOT:                  1407656SUM_WRITE:                1244533SUM_SCAN:                 0FREE_BUFFER_WAIT:         93314WRITE_COMPLETE_WAIT:      832BUFFER_BUSY_WAIT:         788FREE_BUFFER_INSPECTED:    2141883DIRTY_BUFFERS_INSPECTED:  1030570DB_BLOCK_CHANGE:          44445969DB_BLOCK_GETS:            44866836CONSISTENT_GETS:          8195371PHYSICAL_READS:           930646PHYSICAL_WRITES:          1244533

更新

我从该表中删除了索引,即使将 100K 插入到 600K 记录表中(这花费了 47 秒且没有 CPU 等待 - 参见 dstat 输出 http://pastebin.com/fbaccb10),性能也得到了显着提高。

最佳答案

不确定这在 Oracle 中是否相同,但在 SQL Server 中,我首先要检查的是表上有多少索引。如果它很多,那么在插入记录时,数据库必须做很多工作来重新索引表。重新索引 50 万行比 10 万行更难。

关于performance - 如果表有大量记录 (400K) 与空表相比,插入速度会慢 4 倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/589043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com