1

Extjs 4 アプリケーションを開発しています。GUI から送信されたパラメーター (テキストボックス、コンボボックスの値など) を使用してクエリを実行します。クエリは SQLAlchemy で構築されています。また、localhost で MySQL データベースを使用しています。

私が実行するクエリは、ビッグ データを返すためのものです。私の問題は、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');

何が問題なのですか?ブラウザのキャッシュの問題ですか?

編集:これは、SQLAlchemy を使用した私の Python スクリプトです。

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
4

1 に答える 1

0

zzzeekのコメントのように、300,000 個の結果オブジェクトを読み込むと、メモリを使いすぎている可能性があります。おそらく、 Windowed Range Queryのような戦術を使用して、データをチャンクで操作できますか? SqlAlchemy メーリング リストのこの投稿にも、結果をチャンクにスライスするための役立つ詳細がいくつかあります。

于 2013-12-24T01:14:33.917 に答える