MySQLには関数もあります。例えば、DAY()
、ASCII()
、DATEDIFF()
など、多くの機能。したがって、これらの関数を使用して複雑なクエリを作成することは可能です。また、データを使用したすべてのコンピューティング/操作は、MySQLの機能によってMySQLで引き続き行われます。 MySQLですでに用意されているPHPでのクエリの結果を、可能な限り洗練されたものとして得ることができます。DBでデータを操作する方が良い方法はありますか?
しかし、PHP関数を使用してDBからデータを計算/操作することもできます。できるだけ単純なSQLクエリを使用してDBからデータを取得し、配列に取得し、その配列を変数にフェッチし、PHP関数を使用して、必要な操作を行うためにデータで必要な操作を開始します。
私の質問はどのようにDBで作業する方が良いですか?できるだけすぐに使用できるデータを得るために可能な限りMySQLのサーバー強度を最大限に使うべきですか、またはDBの生データを操作するために、より多くのPHP関数を使用すべきですか?
Ehrm。 Webサーバーの規模を拡大することはできますが、データベースサーバーを拡張することはできません。データベースは完璧にスケーラブルであり、データベース内で計算を行うことは、すべてのデータを取得した後で行うよりもパフォーマンスが優れています。 –
MySQLは分散データベースではありません。複数のスレーブで読むことはできますが、1つのサーバーで無限の挿入/更新/削除を実行することはできません。そのため、これらの操作をWebサーバーで実行することには利点があります。 – RobinUS2
しかし、データベース内の関数は、すべてのデータをPHPに引き渡してそこから計算するよりはるかに優れています。 100000行のMySQL関数SUMに適用されたときの答えの意味について考えてみてください。データ転送だけでも、データベースで計算するよりも時間がかかります。 –