2013-10-14 2 views
1

Extjs 4 응용 프로그램을 개발 중이며 GUI (텍스트 상자, 콤보 상자 값 등)에서 보낸 매개 변수를 사용하여 쿼리를 실행합니다. 쿼리는 SQLAlchemy로 작성됩니다. 그리고 localhost에서 MySQL 데이터베이스를 사용하고 있습니다.SQLAlchemy 쿼리 결과 시간 초과

실행 한 쿼리는 큰 데이터를 반환하기위한 것입니다. 내 문제는 HeidiSQL에서 직접 쿼리를 실행할 때 0.6 초가 걸리지 만 Extjs (크롬)에서는 시간이 초과되어 결과가 표시되지 않습니다.

이것은 쿼리입니다. 실행하면 300.000 행이 반환됩니다.

SELECT /*ALL OF THE COLUMNS OF MY TWO TABLES, GENERATED DYNAMICALLY WITH SQLAlchemy*/ 
FROM bl, `CR` 
WHERE `CR`.`Category` IN ('Failure') AND bl.severity_logged IN ('4_minor') AND bl.product_logged = 'x' AND bl.`productRelease_logged` IN ('0.1', '6.2', '6.4', '6.7'); 

무엇이 문제 일 수 있습니까? 브라우저 캐시 문제입니까?

편집 : 이것은 내 Python 스크립트 (SQLAlchemy 포함)입니다.

engine = create_engine(
      "mysql://:@localhost/test", 
      isolation_level="READ UNCOMMITTED" 
     ) 
meta = MetaData(bind=engine) 
meta.reflect(bind=engine) 
cr = meta.tables['cr'] 
bl = meta.tables['bl'] 

session = create_session(bind=engine) 
...#I create filters based on the GUI values 
test_query = session.query(metric_table_object,cr).filter(all_filters) #I then create the query 
result_dict = [u.__dict__ for u in test_query.all()] #I store the query result into a dict 
print result_dict 
+0

이전 세션을 모두 종료 하시겠습니까? session.close()를 사용하여 코드를 인쇄 할 수 있다면 훨씬 더 쉬울 것입니다. –

+0

session.close()를 사용하지 않습니다. 어디에 넣어야합니까? 'session = create_session (bind = engine)'을 선언 한 직후에? – salamey

+0

파이썬 코드로 내 질문을 업데이트했습니다. – salamey

답변