7

帯域幅と全体的な効率の点で、どのオプションが最も高価か知りたいです。

アプリケーションにクラスClientがあり、データベースにテーブルがあるとclientします。

Client.getByIdクライアントレコード全体を取得する静的関数を1つ持つか、個々のフィールドを取得する多数(、など)を使用する方がよいClient.getNameByIdでしょClient.getMobileNumberByIdうか。

1つのレコードに多くのフィールドがあり、現在のスクリプトで1つまたは2つを使用することになった場合でも、すべてを取得して、アプリケーション内ですべてのデータをどのように処理するかを決定する方がよいでしょうか。

ちなみに私はPHPMySQLを使っています。

4

1 に答える 1

15

クライアントレコード全体を取得する静的関数Client.getByIdを1つ持つか、個々のフィールドを取得する多数(Client.getNameById、Client.getMobileNumberByIdなど)を使用する方がよいでしょうか。

はい、そうです。

ネットワークの遅延と遅延、および接続確立のオーバーヘッドは、データベースが飽和状態にならないようにするための最良の方法は、データベース呼び出しの数をできるだけ少なくすることを意味します。

データのサイズが非常に大きいために効果が見られる場合は、1つのクエリで必要な特定のフィールドを取得することを検討できます(データに合わせてクエリを調整します)。

于 2012-03-24T21:40:39.793 に答える