2013-01-16 69 views
1

我正在使用mysql.connector和一些任務,例如在本地mysql數據庫中插入數據的過程是0.0436846秒。平均來說,有一些改進方法嗎?Python-Mysql,更好的lib還是更好的方法?

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() 

也許另一種方法?

+1

爲什麼你需要改進它?什麼是有意義的改進?是否有機會將事件批量插入到一起,或者它們真的只能在系統環境中逐個零碎地完成?是插入直接遇到問題的時間,還是更多的是調用者的響應性問題,所以您可以通過線程化實際插入操作來解決您的問題? –

+0

他們真的是一個一個地完成......也許有人確實處理了一個更好的方法來做到這一點...... – chespinoza

+1

您的問題等同於「需要我太長時間才能到商店,我怎麼能讓我的購物更快完成?「除非我們有足夠的信息來判斷您是否可以使用替代路線,更快速的駕駛,發送其他人或其他東西,否則很難給您答案。 –

回答

2

mysql.connector是一個純Python模塊。 MySQL-python或oursql中的任何一個都可以爲C語言庫提供更好的性能。其他優化包括禁用索引和執行延遲插入。

相關問題