私はのようなDrupal 7関数を使用することにかなり慣れていdb_select()
ます。一方でnode_load()
、非常に使いやすい、明らかですが、私は多くの場合、それは私が必要としないフィールドを返し、私は(いくつか必要になるフィールドが必要行うというフィールドを提供していないことが判明join
得るために、複数可)。
したがって、独自のクエリを作成するnode_load()
と、他のクエリと組み合わせて使用するよりもパフォーマンスが向上しますか?それともnode_load()
、おそらくキャッシュなどから、何らかのパフォーマンスの向上が見られますか?
私はMySQLのパフォーマンス問題の専門家とはほど遠いですが、最終的に必要なものの一部のみを個別に取得する複数のクエリを使用するよりも、特定の単一のクエリを構築する方が良いようです(そして私が必要としないものの多く) )。
node_load()
、Drupalの将来のバージョンとの互換性、および関数から返される結果を変更する可能性がある他のモジュールとの統合です。最初の点については、Drupal 7でそれが明らかです。完全なノードオブジェクトを取得するクエリは、Drupal 6で使用されるクエリとはかなり異なります。また、クエリに関連するデータベーステーブルも変更します。