私はMVCフレームワークを使用するいくつかのPHPプロジェクトに取り組んでいますが、それらはすべてデータベースからオブジェクトを取得する方法が異なりますが、SQLクエリを手作業で作成し、クエリの数。効率的なデータアクセスを得るためにMVCモデルのバランスが良いのは何ですか?
たとえば、自分のWebプロジェクト(ジュニア開発者が作成)は、ホームページを読み込むために100以上のクエリを実行します。その理由は、ある場所ではメソッドがオブジェクトをロードしますが、コードの深いところで、最初のオブジェクトに関連する他のオブジェクトをロードするためです。
これは、コードの一部ではいくつかの列の値しか必要とせず、別の部分には別のものが必要なテーブルがある場合に、人々が何をしているのかという疑問につながります。現在、同じプロジェクトでは、各オブジェクトに1つのget()メソッドがあり、何らかの理由でオブジェクトが必要なときにいつでも "SELECT *"(またはテーブルのすべての列を明示的にリストする)あなたはすべてを得る。
つまり、SELECT *がどのように悪いのかについての話がすべて聞こえますが、フレームワークに付属するORMクラスを使用しようとすると、通常はその処理をしたいと考えています。特定のSQLクエリを手作業で書いてSELECT *を使ってORMを選択することに固執していますか?私は利便性と効率の間にこだわりがあるように思えます。私が手書きでクエリを書くと、列を追加するとコードのいくつかの場所に追加する必要があります。
申し訳ありませんが、私は、特定の解決策ではなく、他の開発者から考え方を得るための背景について説明しています。私はいつもMemcachedのようなものを使うことができることを知っていますが、私はそれに入る前にできることをむしろ最適化したいと思います。
ありがとうございます。
ありがとうございました!それは、私がすでに考えていたことをかなり確認しました.ORMは、高速化のために設計されたものではなく、使いやすさのために...プログラミング言語のプログラミングをダンピングし、より良いプログラマを期待しています。 :) – Poldon