mt_random() 関数
mt_random() 関数は、Mersenne Twister 疑似乱数発生器を使用して、0.0 から 1.0 までの範囲の疑似乱数を返します。 これは、219937-1の周期と良好な分布を持つ高品質の擬似乱数を素早く生成するオープンソースライブラリである。
疑似乱数は、Monte Carlo シミュレーションなどのシミュレーションに活用できます。 疑似乱数は、ポーリングにも適しています。 例えば、疑似乱数によって、1,000,000 レコードの表から 1000 レコードのランダム・サンプルを取り出すことができます。
このアルゴリズム自体は、以降のすべての反復を予測するのに、わずか 624 回の反復しか要求されないというものであり、暗号化には適していません。 この関数をハッシュ関数にラッピングすることで、暗号法上のセキュアな乱数を提供するのに通常は十分となります。
Netezza Performance Serverには、線形合同生成アルゴリズムに基づく組み込みの「random()関数があります。 Mersenne Twister アルゴリズムは、多くの場合、特定のランダム性アプリケーションで好まれています。
構文
mt_random = mt_random();
戻り
この関数は、0.0 から 1.0 までの範囲の疑似乱数を返します。
例
次の例は、分散した 10 レコードの分散したランダム・サンプルを Customer_Table 表から取り出します。SELECT * FROM Customer_Table ORDER BY mt_random() LIMIT 10;