私は2つのテーブル(ユーザと技術)を持っており、それらのデータを第3のコントローラの中に別々に取り出す必要があります。複数のデータを取得するCakephp 3
私はloadmodelとfind()を使って$ this-> set()を介して表示するようにdatasを設定できますが、これを実行するとWebサイトは70年代より遅くなります。
だから、基本的に私はここに私のコードだ私のクエリを最適化し、私のDB
をスピードアップする必要があります。
$users = $this->loadModel('Users');
$datas=$users->find('all')->select(['id','phone', 'first_name','last_name','birthday','email','website', 'address', 'resume', 'cv_url'])->where(['id' => 1])->bufferResults(false)->ToArray();
$technologies = $this->loadModel('Technologies');
$technologies=$technologies->find('all')->select(['id', 'name', 'slug', 'image', 'exp', 'exp_perc'])->bufferResults(false)->ToArray();
$this->set(compact('datas','technologies'));
あなたは私だけで2つのクエリを持って見ることができるとしてではなく、デバッグには10を示し、TABLE_SCHEMAは35322msを取って、その2時間(35322 * 2)
と呼ばれますご提案は大歓迎です。
私はあなたの質問に多くの情報を追加することをお勧めします。それは、再現性のない問題であるため、多分助けにならないでしょう。同様に、どのDBMSを使用していますか?結果のクエリはどのように見えますか?検索されるレコードの数はいくつですか?どこの時間が費やされているのですか(プロファイラを使ってそれを把握してください)? ... – ndm