問題タブ [database-tuning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Terdata システム ビューのチューニング
パンダからread_sqlおよびto_sqlメソッドを使用するために、sqlalchemyを使用してteradataに接続しようとしました。
ただし、接続はとても遅いです。pd.read_sql('select current_date') のような単純なものでも、完了するまでに 30 秒以上かかります。
なぜこれがとても遅いのか、私にはよくわかりません。以前に同様の問題を経験したことがある場合は、その理由と解決方法を教えてください。ありがとう!
更新:
cProfile と sqlTAP を試してみたところ、遅いのは方言が生成したクエリが原因であることがわかりました。has_table ミートホッドは dbc.tablesvx ビューへのクエリを実行します。このクエリは、ビューが約 55,000 行しかないのに、完了するまでに約100 秒かかります。pd.to_sql の場合、この has_table が複数回呼び出される可能性があり、システム テーブルへの他のクエリが必要になります。
私がする必要があるのは、クエリをより高速に実行するためにシステム テーブルを調整することだけのようです。しかし、私たちの SQL ヘルプ担当者は、これらのシステム テーブルが既に最高のパフォーマンスを発揮していることを教えてくれました。これは可能ですか?Teradata DBC ビューの調整を行った人はいますか? ありがとう。
performance - jdbc と python phoenixdb を使用すると、Phoenix を実行する Hbase クラスターが遅くなる
HBase と phoenix クエリサーバーを実行するクラスター セットアップがあります。現在、私のクラスターにはマスター ノードと 3 つのスレーブが含まれています。私が接続しているテーブルは、124 列と合計 1600 万行で構成されています。単純なCOUNT(*)
orDISTINCT "value"
クエリには約 1 ~ 2 分かかりますが、私が理解している限り、そうではないはずです。Phoenix の速度はどれくらいですか? なぜそんなに速いのですか?
上にリンクされているドキュメントでは、1 億行の完全なテーブル スキャンには約 20 秒かかります。また、テーブルのサイズが大幅に小さいため、クエリにそれほど時間がかかる理由がわかりません。クエリを最適化するにはどうすればよいですか? 列ファミリーを使用してテーブルを再構築する予定です (パフォーマンスが向上することはわかっていますが、現在のテーブルを再構築するのは非常に大きな作業になるため、パフォーマンスをすばやく向上させる他の方法があるかどうか疑問に思っていました.
Phoenix 4.9 と HBase 1.2 を使用しています。