私は現在、いつでもデータベースに新しいデータを挿入するアプリケーションを持っています。また、無限ループでデータベースをチェックして新しいエントリを探す別のPythonスクリプトがあり、データベースが見つかると、それを選択して使用し、再び待機します。
これをより効率的かつ正確に行う方法があるかどうか疑問に思っていますか?
ありがとう
私は現在、次のような設定をしています。
conn = pyodbc.connect('Driver={ODBC Driver 13 for SQL Server};'
'Server=REDACTED;'
'Database= REDACTED;'
'UID= REDACTED;'
'PWD= REDACTED;')
cursor = conn.cursor()
次のようなループで:
i = 1
while i < 2:
#check database for new entry with select statement and compare old list with current list and see if there is a difference. If there is a difference, use that new key and process data.
現在は問題なく動作していますが、多くの作業を無料で行っているように感じます。たとえば、平日は1日に30〜50回しかデータベースにアクセスしませんが、週末は1日に100〜200回近くアクセスします...唯一のことは、設定された数がないことです。いつアクセスするか、いつアクセスするか。
どんな助けでも役に立ちます。ありがとう
私はこれまでこれをする必要はありませんでした。しかし、3つのアイデアが思い浮かびました。
(1)スクリプトが別のデータベースに書き込んでいる場合、代替手段はソースデータベースのレプリケーションを設定することです。元のデータベースのDBAがそれを設定できます。
(2)元のデータベースをオーバーホールする場合は、ユースケースに応じて、リアルタイムのインメモリデータベース(redisなど)を検討できます。
(3)sqlalchemyにはイベントリスナーが組み込まれているようです。私はPythonでsqlalchemyを使用していますが、この特定の機能は使用していません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加