問題タブ [in-clause]
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.
sql - in 句を含む SQL インデックス
環境の 1 つでアプリケーションが突然遅くなりました。私が行った唯一の変更は、SQL の変更です。リリース前のSQLはこんな感じでした
リリース後SQLは
このテーブルのインデックスは employee_state_id_index (Dept,record_state,EmployeeTypeId ) です。インデックスは変更されていません。このインデックスは新しい SQL に役立ちませんか? 新しい SQL はテーブル全体をスキャンしますか? インデックスが in 句でどのように機能するかわかりません。あなたの助けとコメントに感謝します
クエリの説明計画は次のとおりです。
mysql - LIMIT、ORDER BY、bool 句、IN 句による MySQL クエリの最適化
アドバイスが必要です。より一般的にするために、次の例で説明します。フィールドを持つMySQL InnoDBテーブル「投稿」があります。
inexes がオンの場合
テーブルには、1,000 万から 1,500 万のレコードが含まれています。クエリを実行しています
MySQL サーバーへの 50 ~ 100 の同時要求でダウンします。各クエリは 0.1 ~ 0.5 秒で実行され、制限句によって異なります。
すべてのカテゴリのすべての投稿をブラウズすることがあるため、「カテゴリ」に個別のインデックスが必要ですか、それとも「カテゴリ」を ( enabled
, deleted
) インデックスに追加して、すべての投稿が必要になるたびにすべてのカテゴリの ID (~200) を渡すことができますか?そのうちの?
このようなクエリの速度を向上させるには、どのようなソリューションを使用できますか?
前もって感謝します。
sql - IN 条件で 1000 を超える値を使用するには?
私はJavaを使用しています。オブジェクト レベルに 2000 個のキー値があり、その値に対応するレコードを DB から取得する必要があります。ここで一時テーブルのアドバイスを見つけまし たが、パフォーマンスに影響はありませんか? これらの値を一度に挿入して、DB 呼び出しの数を減らすにはどうすればよいですか?
database - テーブルゲートウェイZF2でJOINON句を使用してINステートメントを追加する方法
joinON句を使用して「IN」ステートメントを追加するまでのこれまでのすべての結果の取得
私のコードは次のようなものです:
エラー
使用'echo$ select-> getSqlString();' クエリを出力するには:
したがって、問題はzendが(1,2,3,4)を( "1" "、" "2" "、" "3" "、" "4")に自動変換することです。
これを解決するためのアイデアはありますか?ありがとう
sql - SQL Server では、IN 句に 2 つの列を含めることはできますか?
IN 句を使用しようとしていますが、フィルタリングは 2 つの列で定義された一連の項目に対して行う必要があります。これは可能ですか?これを行う方法はおそらく他にもありますが (テーブル変数など)、可能であれば IN 句として実行したいと思います。アプリケーションで動的に作成する方がエレガントで簡単だからです。
この疑似コードは、私がやろうとしていることをより明確にするかもしれません。
php - PHP + IN ステートメントで使用する配列の変換
大きなサイズのキャンディーが好きな人にメールを送りたいとしましょう。
私がこれを行うとき:
もちろん、このquery2が問題です。
$result は使用する適切な形式ではないため、次の明らかなエラーが発生します。
クエリの結果を次のようにフォーマットするには、助けが必要です。
その後、INステートメントに使用できるようになります。
しかし、私はそうする方法がわかりません。
php - SELECT WHERE IN ですべてのレコードが取得されない
編集: 明確にするために、PDOをMySQLデータベースに使用しています
わかりました、クエリに少し問題があります。グーグルと「スタックオーバーフロー」を試しましたが、役に立ちませんでした。ownerid = '1' であるdownload storeというテーブルからすべてのレコードを選択しようとしています。
これは期待どおりに機能し、 1,2を返します
downloadstore テーブル
に 2 つのレコードがあるにもかかわらず、これは 1 つのレコードのみを返します$GlobalDB
= pdo 接続文字列 (これは動作します)
$userid = $_SESSION
、これは「1」に等しい
【ダウンロードストア画面】
[BoughtItems スクリーンショット]
ご覧のとおり、各テーブルには有効なファイル ID を持つ 2 つのレコードがあります。
ただし、IN 句を使用してダウンロード ストアをクエリする場合、プルされるレコードは 1 つだけです。
誰か助けてくれませんか?それはおそらく私が見落としているばかげた単純なものですが、トリプルチェックしたところ、クエリまたはテーブルに何も問題がないと確信しています(明らかにありますが)。
ありがとう、ロブ
crystal-reports - レコード選択でのレポート パラメーターの使用
Java ライブラリを介して Crystal Reports を呼び出す Java アプリケーションがあります。レポートの 1 つは、そのレコード セレクターに次の句があります。
各 GroupIDnParameter は整数の groupID であり、UI のツリー構造からグループ名を選択して作成されます。UI はこれらをグループ ID に変換し、レポートに渡します。現在、このレコード セレクターは機能しますが、選択するグループの数は 10 に制限されています。
この制限をなくしたいと思います。考えられる解決策の構文を確認するために、最初に次のことを試しました
これにより、実際に groupID 1618、1608、および 1610 のレコードが選択されます。
それで、私は次のようなことを試しました
ここで、GroupIDListParameter は文字列 [-1, 1618, 1608, 1610, -1] として渡されます。これにより、Crystal Reports のランタイム エラーが発生します。
私は試した
しかし、その句は構文的に正しくなく、構文チェックで「配列を添字にする必要があります」というエラーが発生します。
この問題を解決する別の方法がある可能性がありますが、オンライン ヘルプ、ユーザー ガイド、または Google 検索を読んでも見つけることができませんでした。
任意の提案をいただければ幸いです。
mysql - 「IN」ステートメントを使用して MySQL Qyery を高速化するにはどうすればよいですか?
私のクエリは非常に遅く実行されます。私のページには 2 つのレアなクエリがあります。「in」ステートメントを挿入したため、実行が遅くなりました。
問題は「where field9 in (select field1 from table2 where id = '$id_session')」の部分だと思います。where句にある必要がある値を別のテーブルで検索しています。
読み込みに約 8 秒かかり、遅くなります。データベースのレコード数を減らしましたが、速度は向上しません。
助けてください。