我想比较一下我的分布式数据库和postgresql。因此,我需要使用Python在postgresql上模拟多用户SQL操作。
我可以使用mutliprocessing
模块吗?
这是我的代码
# encoding=utf-8
import datetime
import multiprocessing
import psycopg2
def exe(cmd):
conn = psycopg2.connect("dbname = test user = pj password = dbrgdbrg")
cur = conn.cursor()
try:
sql = "SELECT id FROM test WHERE ST_MAKEENVELOPE(118,38,119,39,4326) && wkb_geometry;"
cur.execute(sql)
print cur.fetchone()
except Exception, e:
print e
if __name__ == "__main__":
cmds=range(5)
for cmd in cmds:
p = multiprocessing.Process(target=exe,args=(cmd,))
p.start()
p.join()
但是我不知道它是否正确?如果我想为我的SQL语句创建随机参数,我应该怎么做?
您可以使用random
函数来生成随机的'ST_MAKEENVELOPE '限定符,这是假设它们属于某个范围。然后使用随机函数获得ST_MAKEENVELOPE的5个不同的ID。
另一件事,你可以使用for cmd in range(5):
,而不是创建一个列表,然后使用它