gpt4 book ai didi

sql - 删除的 SQL 条目是否仍然占用空间/行?

转载 作者:行者123 更新时间:2023-11-29 13:30:52 24 4
gpt4 key购买 nike

我正在通过 Django 开发一个应用程序,用户可以在其中使用 RESTful 界面更新特定条目。由于所有内容都是通过 JSON 发布的,并且每次用户更新条目时条目数都可以保持不变、减少或增加,我认为处理此问题的最佳方法是删除所有用户的当前条目,然后重新添加他们提交的所有条目。

我使用 heroku 来托管网站,对于他们的爱好数据库,他们限制行数。即使对于他们的标准数据库,他们也会根据大小进行限制......我注意到当我在 Django 中删除对象时,索引永远不会重置,我明白为什么,但这是否意味着删除的行仍然占用空间/存在?如果有帮助,我正在使用 PostgreSQL

最佳答案

Do deleted SQL entries still take up space/rows?

在 PostgreSQL 中,是的,它们仍然会占用一段时间的空间。您 UPDATEd 的旧版本行也是如此。一段时间后 VACUUM 出现并将该空间标记为可重复使用,尽管就操作系统而言它仍在“使用中”。稍后,来自 INSERT 的新行或 UPDATEd 行的新版本将覆盖旧的 vacuum'd 行。

您可以TRUNCATE 一个表,导致所有行被立即清除,但这是一个全有或全无的事情。

Heroku 是否计算删除的行数取决于他们如何实现他们系统的内部结构,并且与他们是否仍然占用空间无关。如果我不得不猜测我会说“不”,因为在 Heroku 上你无法控制 vacuum 事件等,所以让你等待他们的 vacuum 抽空进行清理是相当不公平的。

Heroku has some documentation on the topic here .

关于sql - 删除的 SQL 条目是否仍然占用空间/行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23904660/

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