gpt4 book ai didi

mysql - 提高在 Django 中创建 MySQL 表的速度?

转载 作者:可可西里 更新时间:2023-11-01 06:48:19 25 4
gpt4 key购买 nike

我的一些单元测试需要 10-15 秒才能让 mysql 创建表。这似乎不必要地长。它必须创建大约 50 个表,但每秒仍然只有 3 个表。一遍又一遍地运行单元测试时,这是一个很大的烦恼。

作为解决方法,我一直在 sqlite3 中运行我的单元测试。它非常快,但我更愿意在 MySQL 上运行我的测试,因为这是我的实时服务器运行的。

为了说明速度差异,创建一个新项目。然后使用 mysql 在其上运行 syncdb。然后尝试使用 sqlite3。

[~/testproject] ./manage.py syncdb
Creating table auth_permission
Creating table auth_group
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site

对我来说,在 MySQL 中创建上述表大约需要 2 秒。 Sqlite3 几乎是即时的。

我在我的开发机器上运行 mysql。这是我的 my.cnf .

请提出您能想到的任何可能有助于加快 MySQL 表创建时间的技巧或调整。

最佳答案

您可以创建 RAM 磁盘并将数据库移动到那里,仅用于单元测试。如果您为此编写脚本,那么它是自动的并且非常方便。

此外,出于其他目的,我编写了加载数据库的自定义测试运行程序从 sql 转储而不是创建它然后创建表。

由您选择。

关于mysql - 提高在 Django 中创建 MySQL 表的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2025011/

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