因此,我在使用 PostgreSQL 时目睹了以下行为。
我有一个这样的表:(id INTEGER ..., msg VARCHAR(2000))
然后我运行两个程序A,B它们做的事情完全相同,即进行 20000 次插入,然后进行 20000 次检索(基于它们的 id)。唯一的区别是程序A插入包含 2000 个字符的消息,而B只插入最多包含 10 个字符的消息。
问题是所有插入和检索的平均时间A总是比其中少约 15 毫秒,因为添加“更大”的数据是B没有意义的。A
关于为什么会发生这种情况的任何想法或提示?可能是当不使用msg系统的所有字符时,将其余空间用于其他目的,因此如果msg已满,系统会更快?
基于@Dan Bracuk 评论。我节省了不同事件的时间,并意识到以下情况发生了,在程序A中有很多次插入非常快,而在程序B中从来没有这种情况,这就是为什么平均速度A比B但我也无法解释这种行为.