我運行了循環,並在每個循環中集中查詢了大量數據。 我的數據庫是使用Crate構建的。 有時候,由於Crate沒有迴應我的查詢結果,所以循環暫停。 (這並不總是發生,雖然)的僞代碼如下查詢箱子時卡住
from crate import client
class data_access(object):
def __init__(self, IP):
conn = client.connect(IP)
self.cursor = conn.cursor()
def get_report(self, event_id):
self.cursor.execute('''
select schema.events."Info", schema.events."Time"
from schema.events
where schema.events."Id"='%s' ''' % event_id)
event = []
for row in self.cursor:
event.append((row[0], row[1]))
return event
dal = data_access("server IP")
all_events = []
for event_id in event_ids:
events = dal.get_report(event_id)
if len(events) >0: all_event += events
的event_ids
長度可能是數以百萬計,並在每個循環中的查詢是密集。任何使用Crate的DB專家都會遇到這個問題嗎?如果是的話,你是如何解決這個問題的?似乎重新啓動數據庫不起作用。大量的解決方案謝謝!
您是否知道您的查詢是開放的SQL注射攻擊? – alroc
@alroc:我不是。什麼是SQL注入攻擊?謝謝! – Hsiang