ホームページ >データベース >mysql チュートリアル >質問の側面に焦点を当てた、いくつかのタイトルのオプションを次に示します。 オプション 1 (ダイレクト & クリア): * MySQL で範囲内のランダムな整数を生成するには? オプション 2 (問題と解決策に焦点を当てる): *
問題:
2 つの列 min_value を持つ MySQL テーブルがあります。および最大値。これら 2 つの値の間のランダムな値を取得したいとします。
MySQL の RAND() 関数は、この機能を直接提供しません。最も近い解は RAND() * (max-min) min ですが、これは整数ではなく浮動小数点を生成します。整数を取得するには、ROUND() のような別の関数で小数部分を切り捨てる必要がありますが、それは現実的ではありません。
解決策:
で最も効率的な方法MySQL では、元の式 ROUND((RAND() * (max-min)) min) を使用します。これは、ActionScript、JavaScript、Python などの他のプログラミング言語でも最適なアプローチです。
PHP と MySQL のパフォーマンス比較:
不明な場合はPHP と MySQL のどちらでランダム値を生成するかについては、関係する行数を考慮してください。データセットが大きい場合は、MySQL を使用する方が効率的です。
パフォーマンスの違いを示すために、100,000 回の反復で 2 つのシナリオを比較してみましょう:
ただし、ランダム値とともに追加の列を取得すると、PHP の効率が向上します。
結論として、最適なパフォーマンスを得るには、ランダムな値のみが必要な場合は MySQL を使用し、追加の列を返す必要がある場合は PHP を使用します。
以上が質問の側面に焦点を当てた、いくつかのタイトルのオプションを次に示します。 オプション 1 (ダイレクト & クリア): * MySQL で範囲内のランダムな整数を生成するには? オプション 2 (問題と解決策に焦点を当てる): *の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。