Pythonとモジュールを使用して Twitter グラバー アプリケーションを構築していTweepy
ますMySQLdb
何百万ものツイートをフェッチするため、パフォーマンスが問題になります。同じクエリに追加する前に、テーブルに以前に tweet_id が存在するかどうかを確認したい
テーブル スキーマは次のとおりです。
*id* | tweet_id | text
_____|________________________|______________________________
1 | 259327533444925056 | sample tweet1
_____|________________________|______________________________
2 | 259327566714923333 | this is a sample tweet2
私が試したコードは次のとおりですが、二重のクエリを実行します:
#check that the tweet doesn't exist first
q = "select count(*) from tweets where tweet_id = " + tweet.id
cur.execute(q)
result = cur.fetchone()
found = result[0]
if found == 0:
q = "INSERT INTO lexicon_nwindow (tweet_id,text) VALUES(tweet_id,tweet.text)
cur.execute(q)
Tweet_id を一意にしてツイートを挿入するだけでは、例外が発生し、同様に効率的ではありませんか?
1回のクエリでこれを達成するための最良の方法は何ですか?