나는 2 개의 테이블 (사용자 및 기술)을 가지고 있으므로 두 번째 컨트롤러에서 별도로 두 번째 테이블에서 데이터를 검색해야합니다.여러 데이터 가져 오기 Cakephp 3
loadmodel과 find()를 사용하여 $ this-> set()을 통해 볼 데이터 세트를 만들 수 있지만 웹 사이트는 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 시간 (35,322 * 2)
했다 볼 수모든 제안을 환영합니다.
귀하의 질문에 더 많은 정보를 추가 할 것을 제안합니다. 이는 재현 할 수없는 문제이므로 많은 도움을 얻지 못할 것입니다. 어떤 DBMS를 사용하고 있습니까? 결과 쿼리는 어떻게 생겼습니까? 얼마나 많은 레코드가 검색되고 있습니까? 시간은 정확히 어디에 쓰이는지 (프로파일 러를 사용하여 알아내는 것)? 등 ... – ndm