gpt4 book ai didi

mysql - 向索引表中批量插入数据时,时间成本是否恒定?

转载 作者:行者123 更新时间:2023-11-29 02:37:45 26 4
gpt4 key购买 nike

我已经创建了一个存档表,它将存储仅供选择的数据。

每天都会有一个程序将一批记录调入归档表。有几列被索引;而其他人则不是。

我关心的是每批插入的时间成本:
- 第一批插入:N1
- 第二批插入:N2
- 第 3 批插入:N3

问题是:N1、N2、N3 大致相同,还是 N3 > N2 > N1?

也就是说,时间成本是恒定的还是递增的,存在多个索引?

所有索引都是非聚集的。

归档表结构是这样的:

create table document (
doc_id int unsigned primary key,
owner_id int, -- indexed
title smalltext,
country char(2),
year year(4),
time datetime,

key ix_owner(owner_id)
}

最佳答案

成本将递增,O(log(n))

在实践中,当索引大小达到某个阈值并且索引页面将停止适合缓存时,您将在图上有一个步骤

缓存的大小由 MyISAM 中的 key_buffer_sizeInnoDB 中的 innodb_buffer_pool_size 定义。

在此阈值之前,成本将与内存寻道时间成正比,在阈值之后,成本将与磁盘寻道时间成正比(当然都是乘以 log(n) )

关于mysql - 向索引表中批量插入数据时,时间成本是否恒定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2478017/

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