我运行了循环,并在每个循环中集中查询了大量数据。 我的数据库是使用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