bha*_*anu 4 sql postgresql ruby-on-rails ruby-on-rails-4
我不确定我是否应该在 SO 上问这个问题。但我必须这样做,因为我对我的怀疑没有明确的想法。我被告知不要在 Rails 迁移中设置默认值,而是在我们的 CTO 的代码审查中使用空值。而他的解释是这样的once the database gets huge enough, migrations with defaults runs slow and may throw database timeout errors。但我认为在数据库级别它足够快,可以作为它的初始设置来执行。我对吗?
当表行数很大时,在添加列迁移中使用默认值需要时间。
这是 Postgres Doc 给出的提示:https : //www.postgresql.org/docs/9.5/static/ddl-alter.html
提示:添加具有默认值的列需要更新表的每一行(以存储新的列值)。但是,如果没有指定默认值,PostgreSQL 能够避免物理更新。因此,如果您打算用大部分非默认值填充列,最好添加没有默认值的列,使用 UPDATE 插入正确的值,然后添加任何所需的默认值,如下所述。
| 归档时间: |
|
| 查看次数: |
767 次 |
| 最近记录: |