1

MySQL には関数もあります。たとえばDAY()ASCII()DATEDIFF()、など、多くの機能があります。したがって、これらの関数を使用して複雑なクエリを作成することができます。また、データを使用したすべての計算/操作は、MySQL 関数によって MySQL で引き続き行われます。そして、MySQL によってすでに準備されている PHP でのクエリの結果を、可能な限り洗練されたものとして取得できます。

しかし、PHP 関数を使用して DB からデータを計算/操作することも可能です。つまり、可能な限り単純な SQL クエリを使用して DB からデータを取得し、それを配列に取得し、その配列を変数にフェッチし、PHP 関数を使用して、データで必要な操作を開始し、必要なものを絞り込みます。

だから私の質問は、DBで作業するのにどの方法が良いですか? MySQL のサーバーの強みを最大限に活用して、すぐに使用できるデータを可能な限り取得する必要がありますか?それとも、DB からの生データを操作するために、より多くの PHP 関数を使用する必要がありますか?

4

3 に答える 3

3

いずれの場合も、データベースに対して同じステートメントを実行すると仮定すると、PHP の MySQL 拡張機能を使用するよりも、MySQL でステートメント (関数、ストアド プロシージャなど) を直接実行する方が常に高速です。

于 2012-02-07T12:09:16.503 に答える
3

MySQL (またはその他の非分散型データベース) を使用している場合は、これをコードで行うことを検討してください。これにより、データベース サーバーの負荷が軽減されますが、最近の Web サーバーは完全にスケーラブルです。MySQL サーバーは 1 つしかなく、X ウェブサーバーまでスケールアップできます。

データベースのネイティブ関数をラップするヘルパー クラスを作成するのが最善です。

パフォーマンスの問題をそのままにしておく場合は、自分で作成するのではなく、利用可能な関数を使用することをお勧めします。

于 2012-02-07T12:10:58.857 に答える
-2

私の質問を見て Mysql Query を介したテキスト処理。単純なデータを各データを1行としてデータベースに格納することをお勧めします。次に、それをphpに取得して処理します。

于 2012-02-07T12:10:37.590 に答える