mamp v2.1.3에서 로컬로 실행되는 Cake Application v2.3.1 (myapp.dev : port의 최신 버전 임)과 저는 정말 느린 응답을 경험하고 있습니다. 내가 AppController.php이처럼 내 매김 https://github.com/slywalker/TwitterBootstrap의 트위터 부트 스트랩 플러그인을 사용CakePHP에서 Mamp가 매우 느림
public $paginate = array(
'fields' => array('Artist.id, Artist.year_born, Artist.year_died, Artist.country_born'),
'limit' => 50,
'order' => array('Artist.id' => 'desc')
);
:
public $helpers = array('Paginator' => array('className' => 'TwitterBootstrap.BootstrapPaginator'));
I 사이트 (약 5 초)에 페이지 매김 이곳 컨트롤러에 내 코드는 페이지 매김의 limit
을 1로 설정하려고 시도했으나 시도했습니다. 부트 스트랩 대신에 케이크 자체의 페이지 매김을 사용하지만, 여전히 느립니다. 나는 myapp.dev:port/artists/view/14532와 같은 아티스트에 접근 할 수 있기 때문에 페이지 매김이되어야한다. 그리고 그것은 잘 작동하므로 SQL 쿼리와 관련이 없다고 생각한다.
나는/etc/hosts 파일 127.0.0.1 localhost myapp.dev
과 ::1 localhost myapp.dev
에서 이름을 바꾸려고했지만 아무 것도 작동하지 않는 것 같습니다. 어떤 아이디어? 나는 정말로 붙어있다.
업데이트 : 내 아티스트 테이블에있는 hasMany 관계에 대해 언급하지 않는 것이 좋지 않습니다. 이것은 내 아티스트 모델 :
class Artist extends AppModel {
public $hasMany = array(
'ArtistBiography' => array('dependent' => true),
'ArtistSurname' => array('dependent' => true),
'ArtistSignature' => array('dependent' => true),
'ArtistForename' => array('dependent' => true),
'ArtistMonogram' => array('dependent' => true));
public $hasOne = array(
'ArtistActive' => array('dependent' => true));
}
내가 DebugKit을 사용하고 난 매기기 두 왼쪽 2 불필요한 querys을한다는 것을 발견 모두 각각 실행하기 위해 약 2000 밀리 소요 결합한다. 페이징 담당자에게 이것을 무시하도록 어떻게 알 수 있습니까? 나는 이와 같은 새로운 관계를 맺기 위해 노력했다 :
public $paginate = array(
'fields' => array('Artist.id, Artist.year_born, Artist.year_died, Artist.country_born'),
'limit' => 50,
'order' => array('Artist.id' => 'desc'),
'joins' => array(
array('table' => 'artist_forenames', 'alias' => 'ArtistForename', 'type' `=> 'inner', 'conditions' => array('Artist.id = ArtistForename.artist_id')),`
array('table' => 'artist_surnames', 'alias' => 'ArtistSurname', 'type' => 'INNER', 'conditions' => array('Artist.id = ArtistSurname.artist_id'))),
'recursive' => -1
);
그러나 나는이 작업을하는 방법을 모르겠다. 내가 원한다면 기본적으로 artist_surnames
과 artist_fornames
에 가입하고 artist.actives
및 artist_monogram
이라는 두 테이블을 모두 무시하면 4000ms의 쿼리 속도가 느려집니다.
두 번째 조인이 왜 그렇게 느려지는지 두 번째 질문은 여기에 있습니다. 나는 100 명의 아티스트를리스트하고있는 곳의 아티스트/모두라는 테스트 뷰를 만들었고 모든 조인이 포함 된 쿼리는 약 40-50ms 내에 완료되었습니다.
DebugKit을 사용하면 실제로 오래 걸리는 내용을 확인할 수 있습니다.타이머 탭과 Sqllog 탭을 보여줍니다. 알고 계시면 알려주세요.보다 쉽게 도움을받을 수 있습니다. – Dave
Hey Dave, DebugKit을 사용하고 질문을 업데이트했습니다. 감사합니다 – bangerang