python代码与mysql一起使用,'drop table'需要太长时间

时间:2013-01-06 09:20:24

标签: python mysql

我在travis-ci.org上做了一个测试。

测试代码是

import MySQLdb

create_tbl_SQL = open("tables.sql").read()

conn = MySQLdb.connect(db = "test_travis", user = "root", passwd = "", charset =     "utf8", host = "localhost", port = 3306)

def create_tables():
    conn.cursor().execute(create_tbl_SQL)

def drop_tables():
    conn.cursor().execute("drop table user, post;")

create_tables()

conn1 = MySQLdb.connect(db = "test_travis", user = "root", passwd = "", charset =    "utf8", host = "localhost", port = 3306)

c = conn1.cursor()

c.execute("insert into user set user.name = '111'")

c.execute("select * from user; ")

drop_tables()

但是travis-ci.org上的测试需要3分钟来运行它。

此代码在github上:https://github.com/hit9/test_mysql_on_travis/

这个测试在travis-ci.org:https://travis-ci.org/hit9/test_mysql_on_travis

我认为'drop table'操作会使此脚本运行缓慢。

但我怎么能解决这个问题呢?

1 个答案:

答案 0 :(得分:1)

我试过了

mysql -e "set autocommit=1"

在我的.travis.yml中,但那不起作用

所以,我应该在drop语句

之前插入这一行
c.execute("commit ")