問題タブ [in-subquery]
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.
mysql - mysql でこの IN 句を最適化するにはどうすればよいですか?
次のテーブル構造があります。
そしてこれ:
実行中のクエリは次のとおりです。
明らかに、このクエリは効率的ではなく、実行に膨大な時間がかかります。最適化するための最良の方法を教えてください。
以下のpetermに従ってEXPLAINコマンドの結果を追加します。
mysql - 「having」条件を持つサブクエリで単一の列を取得する
さて、「having」条件を含むサブクエリがあります。select 句の having 条件にパラメータを追加する必要がありますよね?
だから私はサブクエリを持っています:
しかし、実際には、最初の列にのみ関心があります。取得したいのはid
.
私の声明全体の抜粋は、
4 つの列が返されるので明らかに失敗します :( どうすればよいですか?
更新: 選択するとsfd.id
エラーが発生します: エラー 1054 (42S22): 不明な列 'sfd.StartTime' in 'having clause' 'having' の変更
mysql - サブクエリを使用した WHERE IN が期待どおりに機能しない
作成した親パスを使用して、カテゴリ テーブルから結果を取得しようとしています。手動データでリクエスト WHERE IN を起動すると、完全に機能しています。サブクエリを使用して同じリクエストを動的に試行すると、予想される 4 つの結果ではなく、1 つの結果しか得られませんでした。理由がわかりません、助けてもらえますか?
http://sqlfiddle.com/#!2/88b68/6
よろしくお願いします。
よろしく、
mysql - サブクエリでクエリからカンマ区切りの文字列を使用する
同じクエリへの入力としてコンマ区切りの ID 文字列を使用したいと考えています。
すなわち:
実際のクエリははるかに複雑ですが、達成する必要があるのは、コンマ区切りの ID 文字列を変数に割り当て、その文字列を IN 句内のサブクエリで使用することです。
上記は機能していません。フィードバックをいただければ幸いです。
ありがとうございました!
postgresql - PostgreSQL がサブクエリを結合に折りたたむのはいつですか?
次のクエリを検討してください。
どちらがより高速なものに書き換え可能である必要があります:
ソース コードを変更してクエリを書き直すのは非常に複雑になるため (特に Django を使用している場合)、できるだけ避けたいと考えています。
したがって、PostgreSQL がサブクエリを結合に折りたたむのはいつで、そうでないのはいつなのだろうか?
これが単純化されたデータ モデルです。
- a には 700 万行あります
- b には 7000 万行あります
- bx のカーディナリティ = ~100
- by = ~100000 のカーディナリティ
- bx のカーディナリティ by = ~150000
- テーブル c、d、および e が b と同じ構造を持ち、追加で使用して結果の a.ids をさらに減らすことができると想像してください。
PostgreSQL のバージョン、クエリをテストしました。
PostgreSQL 9.2.7 on x86_64-suse-linux-gnu, compiled by gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012], 64-bit
PostgreSQL 9.4beta1 on x86_64-suse-linux-gnu, compiled by gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012], 64-bit
クエリ プラン (空のファイル キャッシュとメモリ キャッシュを使用):