Django South:结合“alter table”以获得更好的性能?

Posted

技术标签:

【中文标题】Django South:结合“alter table”以获得更好的性能?【英文标题】:Django South: Combining "alter table"s for better performance? 【发布时间】:2012-01-18 21:28:18 【问题描述】:

稍微研究一下为什么South 迁移在生产数据上如此缓慢,我发现它正在为添加到表中的每一列执行单独的 ALTER TABLE。对于我们较大的表,它们有数千万行,而且我要添加很多列,所以它最终会非常慢。

有没有办法将 South 产生的多个 ALTER TABLE 语句组合成一个语句,如果是这样,那会比几个单独的语句更快(我假设会)?

看起来像there isn't a way to get South to print the SQL it uses。是否有任何技巧可以从南方获取部分 SQL?如果我能拿到单独的零件,我可以手工组装变更表。

【问题讨论】:

【参考方案1】:

南方使用 ORM 进行自己的查询,所以 use this

./manage.py shell

from django.db import connection
    print connection.queries

但我强烈建议使用数据库控制台和手动编写的 SQL(带有完整备份)的高负载/敏感数据解决方案

【讨论】:

以上是关于Django South:结合“alter table”以获得更好的性能?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 django-south 不包含在 django.contrib 中? [复制]

使用 Django/South 重命名模型的最简单方法?

PostgreSQL + Django + South 的第一步

目前使用 Django “Evolution”,“South”是不是更好,值得切换?

Python 3.3 + Django 1.6 + 连接器/Python Django 后端 + South

Django South - 表已经存在