1

モデルが MySQL クエリ接続をどのように処理するかについて質問があります。基本的に、より深いモデルでいくつかの情報を取得するために、再帰レベルを 2 に設定する必要があるモデルがあります。不要なレベル 2 モデルのバインディングをすべて削除しましたが、フレームワークは結果セットを構築するために多数のクエリを実行しています。

私が知りたいのは、フレームワークがクエリごとに MySQL 接続を開いたり閉じたりするのか、それとも単一の接続を開いてすべてのクエリを実行してから接続を閉じるのかということです。

ありがとう

4

2 に答える 2

0

構文を使用して、いつでもモデルの関連付けをバインド解除してその場でバインドしたり、メガクエリ全体をその場で構築したりでき'joins'ます。この質問を見て、例とクックブックのこのページを確認してください。テーブルを正しく結合することで、クエリの数を数十から1に減らすことができました。

于 2012-10-08T10:15:30.300 に答える
0

私には、CakePHP がデータベースに接続してから、すべてのクエリを実行しているように思えます。コードについては、こちらをご覧ください: https://github.com/cakephp/cakephp/blob/master/lib/Cake/Model/Datasource/Database/Mysql.php

于 2012-10-08T09:34:06.077 に答える