以前は、このような使用シナリオを処理するために rand() で直接 order していましたが、効率があまり良くありませんでした。そこで最近、このシナリオに再び遭遇し、オンラインでより良い解決策を探しました。 1.rand() による順序付け 書き方: 選択 id から `テーブル` 注文する ランド() この書き方の場合の欠点は、rand 関数が order by で複数回実行されるため、効率に影響が出ることです。 2. max(id) * rand() をjoinを使って実行する 書き方: 選択 * から `テーブル` AS t1 参加する ( 選択 ラウンド( ランダム()*( (SELECT MAX(id) FROM `table`) - (SELECT MIN(id) FROM `table`) ) + (`table` から MIN(id) を選択) ) AS ID ) t2 どこ t1.id >= t2.id 注文する t1.id 制限 1; ネット上の大物たちはみんな2番目の書き方を推奨しているので、記録しておこうと思います。最大IDと最小IDはプログラム内で計算できる気がします。 ここで問題となるのは、複数のレコードを取得する場合、それらは連続している必要があるため、連続したデータを取得したくない場合はループする必要があることです。ただし、このステートメントは非常に効率的なので、ループクエリを実行できます。 上記は関連する知識ポイントです。困っている友人はそこから学ぶことができます。123WORDPRESS.COM を応援していただきありがとうございます。 |
>>: vscodeでnpmを使用してbabelをインストールする方法
まずmysqlを削除します: sudo apt-get remove mysql-*残ったデータをク...
目次リアクトフック序文なぜフックなのか?クラス関数クラスとフックの比較フックはコンポーネントの状態を...
目次スロークエリログとは何ですか?スロークエリを有効にする方法ログ分析ツール mysqldumpsh...
1. 仮想化 vcenter に入り、ブラウザでログインし (クライアントは設定する場所を見つけませ...
今日は、さまざまなブラウザでのデフォルト要素のマージン値が何であるかという問題について説明しました。...
ベースイメージベースイメージには 2 つの意味があります。他のイメージに依存せず、ゼロから構築します...
Linux は iftop を使用してネットワーク カードのトラフィックをリアルタイムで監視します。...
親ノードの親ノード、例えば、このような段落がありますHTML:コードをコピーコードは次のとおりです。...
目次1. 公式の足場を使って構築する2. プロジェクトディレクトリ分析3. TypeScript の...
目次1. v-bindの主要ソースコードの分析1. v-bind属性はどこに均一に保存されるか: a...
1. データベースを作成します。 データ data _name を作成します。 PHP でデータベー...
目次親コンポーネントは子コンポーネントと通信します子コンポーネントは親コンポーネントと通信しますコン...
目次ユーティリティ: vue での使用:説明する:画像安定化:スロットル:ユーティリティ: // 手...
私はパフォーマンス テストを行うために常に Loadrunner を使用してきました。 Loadru...
通常、開発プロセスでは、インターフェイス要求の成功または失敗は httpcode に基づいて決定され...