[解決済み] MySQLは600K行からランダムな10行を高速に選択する
2022-03-20 19:48:22
質問
合計600k行からランダムに10行を選択するクエリを書くにはどうしたらよいでしょうか?
どのように解決するのですか?
単純なものから、隙間のあるもの、隙間のある不均一なものまで、いくつかのケースを扱った素晴らしい記事です。
http://jan.kneschke.de/projects/mysql/order-by-rand/
最も一般的なケースでは、次のようになります。
SELECT name
FROM random AS r1 JOIN
(SELECT CEIL(RAND() *
(SELECT MAX(id)
FROM random)) AS id)
AS r2
WHERE r1.id >= r2.id
ORDER BY r1.id ASC
LIMIT 1
これは、idの分布が均等で、idリストに隙間ができることを想定しています。より高度な例については、この記事を参照してください。
関連
-
Mysqlの使用中に発生したエラーの一部
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
-
[解決済み] 各GROUP BYグループの最初の行を選択しますか?
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] JavaScript の配列からランダムな値を取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのデータバックアップにmysqldumpを使用する方法
-
mysqlでインデックスに障害が発生する原因は何ですか?
-
MySQLのLike演算子に関する詳細
-
MySQLで正規表現を使う 詳細
-
[解決済み】MySQL エラー 1093 - FROM 句で更新のターゲット テーブルを指定できません。
-
[解決済み] SQLエラー。ORA-01861:リテラルは、フォーマット文字列01861に一致しません。
-
Mysql がエラー 1241 を報告 オペランドは 1 つのカラムを含む必要があります。
-
msql クエリでのエラー 'where 節' の不明な列 'yellow fruit'
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] MySQLで複数のカラムに一意制約を指定するには?