ホームページ  >  記事  >  データベース  >  質問の側面に焦点を当てた、いくつかのタイトルのオプションを次に示します。 オプション 1 (ダイレクト & クリア): * MySQL で範囲内のランダムな整数を生成するには? オプション 2 (問題と解決策に焦点を当てる): *

質問の側面に焦点を当てた、いくつかのタイトルのオプションを次に示します。 オプション 1 (ダイレクト & クリア): * MySQL で範囲内のランダムな整数を生成するには? オプション 2 (問題と解決策に焦点を当てる): *

DDD
DDDオリジナル
2024-10-26 09:08:02993ブラウズ

Here are a few title options, focusing on the question aspect:

Option 1 (Direct & Clear):
* How to Generate Random Integers Within a Range in MySQL?

Option 2 (Focus on Problem & Solution):
* MySQL Random Value Generation:  Why RAND() isn't Enough and t

MySQL: 範囲内のランダムな値の生成

問題:

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 つのシナリオを比較してみましょう:

  • MySQL (ランダム値を直接生成) ): 0.009 秒
  • PHP (PHP を使用したランダム値の生成): 0.011 秒

ただし、ランダム値とともに追加の列を取得すると、PHP の効率が向上します。

  • MySQL (ランダム値を生成し、追加の列を返す): 0.013 秒
  • PHP (ランダム値を生成し、追加の列を返さない): 0.008 秒

結論として、最適なパフォーマンスを得るには、ランダムな値のみが必要な場合は MySQL を使用し、追加の列を返す必要がある場合は PHP を使用します。

以上が質問の側面に焦点を当てた、いくつかのタイトルのオプションを次に示します。 オプション 1 (ダイレクト & クリア): * MySQL で範囲内のランダムな整数を生成するには? オプション 2 (問題と解決策に焦点を当てる): *の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。