gpt4 book ai didi

sql - 向PostgreSQL中插入 "bigger"的数据让系统更快?

转载 作者:太空狗 更新时间:2023-10-30 01:46:10 25 4
gpt4 key购买 nike

因此,我在使用 PostgreSQL 时目睹了以下行为。

我有一个这样的表:(id INTEGER ..., msg VARCHAR(2000))然后我运行两个程序 AB 做完全相同的事情,即进行 20000 次插入,然后进行 20000 次检索(基于它们的 ID)。唯一的不同之处在于程序 A 会插入包含以下内容的消息2000 个字符,而 B 仅插入最多包含 10 个字符的消息。

问题是所有插入和检索的平均时间在 A 中总是比在 B 中少大约 15 毫秒,这实际上没有意义,因为 A 正在添加“更大”的数据。

关于为什么会发生这种情况的任何想法或提示?难道不使用的时候msg 的所有字符,系统将剩余空间用于其他目的,因此如果 msg 已满,系统会更快吗?

基于@Dan Bracuk 的评论。我在不同的事件上节省了时间,并意识到发生了以下情况,在程序 A 中有很多次插入非常非常快,而在程序 B 中这从来都不是情况,这就是为什么平均 AB 快,但我也无法解释这种行为。

最佳答案

如果没有关于您的设置和程序的更多详细信息,我无法重现此内容,因此以下只是一个有根据的猜测。可以想象你的观察是由于 TOAST。一旦文本字段超过一定大小,它就会存储在一个物理上独立的表中。因此,主表实际上比所有文本值都以内联方式存储的情况要小,因此搜索速度会更快。

关于sql - 向PostgreSQL中插入 "bigger"的数据让系统更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19894043/

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