1

私はmysql.connectorを使用しており、一部のタスク、たとえばローカルmysqlデータベースにデータを挿入する場合、プロセスは0.0436846秒かかります。平均して、それを改善する方法はありますか?

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

多分別のアプローチ?

4

1 に答える 1

2

mysql.connector純粋なPythonモジュールです。CライブラリにリンクするMySQL-pythonまたはoursqlのいずれかを使用すると、少なくとも通信部分のパフォーマンスが向上するはずです。その他の最適化には、インデックスの無効化と遅延挿入の実行が含まれます。

于 2013-01-16T18:33:50.497 に答える