gpt4 book ai didi

sql - rails - 我不应该在 rails 迁移中使用默认值吗

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

我不确定我是否应该在 SO 上问这个问题。但是我必须这样做,因为我对自己的疑问没有清楚的认识。我被告知不要在 Rails 迁移中设置默认值,而是在我们的 CTO 的代码审查中使用空值。他的解释是这样的一旦数据库变得足够大,使用默认值的迁移就会运行缓慢并且可能会引发数据库超时错误。但我认为在数据库级别它足够快,可以作为事物的初始设置来执行。我说得对吗?

最佳答案

当表行数很大时,在添加列迁移中使用默认值需要时间。

这是 Postgres Doc 给出的提示:https://www.postgresql.org/docs/9.5/static/ddl-alter.html

Tip: Adding a column with a default requires updating each row of the table (to store the new column value). However, if no default is specified, PostgreSQL is able to avoid the physical update. So if you intend to fill the column with mostly nondefault values, it's best to add the column with no default, insert the correct values using UPDATE, and then add any desired default as described below.

关于sql - rails - 我不应该在 rails 迁移中使用默认值吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39915955/

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