Python Mysql,更好的库还是更好的方法?
我使用的是mysql.connector,对于一些任务,例如在本地mysql数据库中插入数据,该过程需要0.0436846秒。一般来说,有什么办法可以改进吗Python Mysql,更好的库还是更好的方法?,python,python-2.7,Python,Python 2.7,我使用的是mysql.connector,对于一些任务,例如在本地mysql数据库中插入数据,该过程需要0.0436846秒。一般来说,有什么办法可以改进吗 import mysql.connector from mysql.connector import errorcode class Dal: @profile def __init__(self, dic): try: self.cnx = m
import mysql.connector
from mysql.connector import errorcode
class Dal:
@profile
def __init__(self, dic):
try:
self.cnx = mysql.connector.connect(user=dic['user'],
password=dic['password'],
host=dic['host'],
database=dic['database'])
self.cursor = self.cnx.cursor()
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("User/Pass Fails")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("BD no exist")
else:
print(err)
def insert_event(self,dic):
ins_ev = ("INSERT INTO events "
"(device, type, index, datetime, c1,\
c2, vel, head, pfm, age,vod,created_on ) "
"VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
)
self.cursor.execute(ins_ev, dic)
self.cnx.commit()
也许还有另一种方法?mysql.connector是一个纯Python模块。MySQL-python或oursql都可以链接到C库,至少在通信部分,它们都可以提供更好的性能。其他优化包括禁用索引和执行惰性插入。为什么需要改进它?什么是有意义的改进?是否有机会将事件批量插入到一起,或者它们真的只能在您的系统上下文中逐个完成?插入的时间是直接处理问题的时间,还是调用方的响应能力更大的问题,因此您可以通过线程化实际的插入操作来解决问题?它们确实可以一个接一个地完成…只是,可能有人用更好的方法来处理…您的问题相当于,“去商店花了我太长时间,我怎样才能更快地完成购物?”除非我们有足够的信息告诉你是否可以选择另一条路线,开得更快,派其他人代替,或者其他什么,否则很难给你答案。