sql >> データベース >  >> RDS >> Mysql

大規模なデータセットのランダム化

    いくつかの非正規化でこれを解決できます:

    • データテーブルと同じpkeyとステータスを含むセカンダリテーブルを作成します
    • 自分で自動番号を付ける一種のサブpkeyとなるステータスグループ列を追加して入力します(単一のステータスに対する1ベースの自動インクリメント)

    フィルタリングする必要がない場合は、上記のようにpkeyでrand#を生成できます。フィルタリングする必要がある場合は、関心のある特定のステータスのStatusPkeysに対してランドを生成します。

    このテーブルを作成する方法はいくつかあります。間隔を置いて実行するプロシージャを作成することも、ライブで実行することもできます。 StatusPkeyの計算にはコストがかかる可能性があるため、後者はパフォーマンスに影響を与えます。



    1. 異なるデータベースの複数のテーブルを接続しますか? MySql

    2. MySQLデータベースでビューを使用する方法

    3. Ubuntu 9.04(Jaunty)でMySQLリレーショナルデータベースを使用する

    4. 2つのSELECTクエリをマージする