django的全自动数据库表分区

django-db-parti2的Python项目详细描述


django db parti

django db parti是django的一个包,其目标是动态地进行表分区。分区是 把一张大桌子分成代表那张桌子的几张小桌子。分区通常是 出于可管理性、性能或可用性的原因。如果您不确定是否需要分区 否则,您几乎肯定不需要它。

https://badge.fury.io/py/django-db-parti.pnghttps://pypip.in/d/django-db-parti/badge.png DIV ID="特征">

功能

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的未来版本中删除此限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
服务器(java)无法从具有SSL连接的客户端(c#)接收XML   我有一个maven项目,它不断抛出异常java。lang.NoClassDefFoundError:   什么时候需要将java类X放入名为X.java的文件中?   java如何在spring Boot 2中为spring批处理配置数据源以进行测试   java无法在简单程序上解析符号“上下文”   java JList,内部有3个JLabel   java jacksondataformatcsv:映射不带POJO的数值   eclipse在Java7中允许从数字转换为双精度?(自动装箱)   java写入属性文件不起作用   java My PDF未打开,locgcat中未显示错误   在Java HashMap中使用对象作为键   Java中的长基元类型范围   使用Apache HttpClient的java Http 400 PUT请求   java如何插入日期和时间对象?Php mysql错误