|
거의 대부분의 웹 애플리케이션은 데이터베이스에 액세스한다. 레일스 애플리케이션 역시 마찬가지다. 레일스는 많은 작업들을 알아서척척 처리해 주긴 하지만, 그렇다고 레일스가 데이터베이스의 쿼리 최적화까지 자동으로 수행해 주지는 못한다. 쿼리 최적화는데이터베이스마다 다르고 애플리케이션마다 다르며 또한 동일한 애플리케이션이라 하더라도 상황마다 다르기 때문이다. 데이터베이스성능을 생각하면 당연히 해줘야 할 일이 색인(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 06/22 오호, 굉장히 흥미롭습.. by 스파이크 at 04/22 제목을 흘렸는데 catch.. by xeraph at 04/22 구현하고는 싶은데 복잡.. by aproxacs at 03/29 마침 지금 restful_auth.. by 상욱 at 03/28 저도 동감 무진장 갑니다.. by Jennifer씨 at 02/27 와..저도 외국 호스팅.. by 이노메이커 at 02/25 루비를 써보려고 웹호스.. by 몰아저씨 at 02/25 wow by 상욱 at 02/24 와! 좋아졌네요.ㅎㅎ IDC.. by nainu at 02/24 최근 등록된 트랙백
월아, 알고리즘
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 책 읽는 사람들의 일기장 .. by 송치형의 InnoLab 꽃띠앙의 생각 by codian's me2DAY | |||