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

単一の大きなクエリといくつかの小さなクエリのどちらが高速ですか?

    データベースへの各「ラウンドトリップ」には、ある程度のオーバーヘッドがあります。したがって、ラウンドトリップが少ないほど、オーバーヘッドも少なくなります。リクエストが少ないということは、クライアントからサーバーへのパケットが少ないことを意味することも考慮してください。統合されたクエリの結果が必要なものを提供する場合は、単一のクエリが最適です。単一のクエリが余分なデータまたは冗長なデータを返す場合(おそらく非正規化のため)、転送される余分なデータで1回のラウンドトリップのオーバーヘッドの節約が失われる可能性があります。

    もう1つの考慮事項は、遅延です。あるクエリの出力の一部が次の入力で必要になるためにクエリを順番に完了する必要がある場合、1つのクエリに統合すると、個々の小さなクエリすべての間のすべてのネットワークレイテンシが削減されるため、最終的な結果は次のようになります。より速く配信されます。ただし、小さいクエリが互いに独立している場合、それらを並行して起動すると、効率は低下しますが、すべての結果をより速く配信できます。

    結論:答えはあなたの状況の詳細に依存します。答えを得る最良の方法は、おそらく両方の方法を実装し、各実装のリソース使用量をテストして比較することです。



    1. pyodbcはUnicodeデータを正しく処理しません

    2. MySQLトランザクションとトリガー

    3. Mysql:データベース内のすべてのフィールドをトリミングします

    4. PHPで安全なmysqlプリペアドステートメントを作成するにはどうすればよいですか?