django的全自动数据库表分区
django-db-parti2的Python项目详细描述
django db parti
django db parti是django的一个包,其目标是动态地进行表分区。分区是 把一张大桌子分成代表那张桌子的几张小桌子。分区通常是 出于可管理性、性能或可用性的原因。如果您不确定是否需要分区 否则,您几乎肯定不需要它。
目录:
-
django db parti
django db parti
-
功能
- postgresql
- MySQL的
- 实施
- 分区类型
- 限制
-
功能
- 要求
- 安装
- 配置
- 可用设置
- 模型设置
- 模型管理设置
功能
django db parti支持多个数据库后端,每个数据库在许多方面都不同 这意味着某些功能可能适用于一个数据库后端,但不适用于另一个数据库后端,您将在下面找到 支持的数据库后端列表和数据库后端支持哪些功能的详细信息。
mysql
实施
mysql在django db parti中的分区实现是以混合方式完成的,一半在python级别,一半在python级别 在数据库级别。不幸的是,mysql在被调用的触发器或函数中不支持动态sql 在触发器中,因此自动创建分区的唯一方法是在python中计算所有内容 级别,然后根据计算创建所需的SQL语句,并将该语句发布到数据库中。
分区类型
-
按日期/日期时间对以下时段的范围分区:
天< /LI>
-
周
-
月
-
年份
- 周
- 月
- 年份
限制
- 并非所有分区类型都受支持。下一版本的django db parti将添加新类型。
- 分区不可用于大容量插入(即django的bulk_create()方法),因为它不调用 此后端所依赖的模型的save()方法。目前还没有已知的方法可以消除此限制。
- 新的分区只能从下到上创建,您可以使用mysql的特殊命令来克服这个问题 重新组织必须从数据库控制台发出的分区。你可以在 MySQL的文档。我们计划在django db parti的未来版本中删除此限制。