|
거의 대부분의 웹 애플리케이션은 데이터베이스에 액세스한다. 레일스 애플리케이션 역시 마찬가지다. 레일스는 많은 작업들을 알아서척척 처리해 주긴 하지만, 그렇다고 레일스가 데이터베이스의 쿼리 최적화까지 자동으로 수행해 주지는 못한다. 쿼리 최적화는데이터베이스마다 다르고 애플리케이션마다 다르며 또한 동일한 애플리케이션이라 하더라도 상황마다 다르기 때문이다. 데이터베이스성능을 생각하면 당연히 해줘야 할 일이 색인(index)을 잡는 일이지만, 레일스 개발의 편리함에 빠지다 보면 정작 중요한 것을까먹기도 한다. 색인이 없는 데이터베이스는 데이터베이스가 아니다. 물론 무턱대고 아무 곳에나 색인을 달라는 말은 아니지만,레일스에는 이런 색인 작업을 포함하여 애플리케이션의 데이터베이스 쿼리 분석을 도와주는 훌륭한 도구들이 많이 있다.
Query Analyzer (mysql only) 그 중 가장 역사가 깊고 그래서 많이들 사용하는 건 아마도 Query Analyzer플러그인 일 것이다. 이 플러그인은 mysql의 EXPLAIN이 생산해내는 아웃풋을 레일스 로그 파일에 넣어 보여주기 때문에 일일이 EXPLAIN을 실행하는 수고를 덜어 준다. 이 플러그인에 대한 자세한 소개는 여기에서 얻을 수 있다. 두 번째로 소개할 플러그인은 TextMate Footnotes인데, 이 플러그인을 설치하면, 개발환경에서 다음과 같이 화면 하단에 세션이나 쿠키 정보 정보, 라우팅 정보 등과 같은 유용한정보들을 보여주며 이 가운데 물론 데이터베이스 쿼리에 대한 정보도 포함되어 있다. 특히 textmate와 연계하여 작업할 수있기 때문에 훨씬 더 편리하다. query-reviewer (mysql only) 마지막으로 소개할 녀석은 query-reviewer라는 놈으로, 비교적 최근에 등장한 쿼리 분석기이다. 이 플러그인을 설치하면 개발환경에서 레일스 애플리케이션의 화면 좌상단에 해당 페이지에서 사용된 SQL의 분석 결과가 간단하게 [SQL OK], [SQL CRITICAL], [SQL WARNING] 과 같은 메시지로 제시되며, 클릭하면 상세한 쿼리 분석 보고서와 함께 간단한 처방전까지 내려주기 때문에 아주 편리하다. 게다가 Ajax호출로 발생한 쿼리에 대하여도 보고를 해주니... 기특하기도 하다.
|
by thinkr 카테고리
최근 등록된 덧글
음 제 경우 지금 메모리..
by 서울비 at 10/25 새 버전이신가 보네요,.. by 연안부두 at 10/22 CPU 사용량이 엄청나군.. by 오스카 at 10/22 드롭박스 깔고 팬이 자주.. by 백일몽 at 10/22 다른 개발자분이 작업하.. by GreatDG at 10/22 최소 3대는 해봐야겠더.. by 펭도 at 10/21 browsershots 같은 .. by thinkr at 10/21 예전에 그런 서비스를 .. by 몰아저씨 at 10/21 예. 물론 그 방법도 있.. by thinkr at 10/21 vmware나 virtual box .. by 이상훈 at 10/21 최근 등록된 트랙백
라지엘의 느낌
by laziel's me2DAY 우리는 언제나 창작과 .. by 시답잖은 지식과 개똥철학 월아, 알고리즘 by Read & Lead 우엉의 생각 by oldtype's me2DAY 졸음을 깨우기 위해 재미.. by jack in the box 이젠 업그레이드인가.. ra.. by Always Renewal 제로안의 생각 by zeroan's me2DAY 아샬의 생각 by ahastudio's me2DAY 구글사이트 접속차단 by P-camp & 대안언어축제.. 펭도의 생각 by pengdo's me2DAY 메모장
| |||