CI 묻고 답하기

제목 CI 성능 관련 문의
글쓴이 정현주 작성시각 2015/02/16 15:49:41
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 14797   RSS
안녕하세요, 성능 관련해서 문의 드립니다.

CI를 이용해서 개발 중에 있는데요, 단순히 데이터를 조회해서 가져오는데 1초 이상 걸리고 있습니다.
CI 사용법이 잘못되어 성능에 문제가 있는건지 확인좀 부탁 드립니다.

일부 소스 공유 드립니다.

config폴더 내 파일도 첨부해서 공유 드렸습니다.

오랜 시간 해결을 못하고 있습니다. 고수님들의 조언 부탁 드립니다.

autoload.php

$autoload['libraries'] = array('database');

controller

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class ZdGroup extends CI_Controller {
 
 function __construct(){
  parent::__construct();
  session_start();
 }
 
 function getGroups(){
 
  $searchField = $_REQUEST['searchField'];
  $searchValue = $_REQUEST['searchValue'];
  
  $sql = "SELECT *
      FROM ZD01_GROUP_INFO
     WHERE $searchField LIKE CONCAT('%','$searchValue','%')
          ORDER BY CREATE_DATE DESC";
    
  $result = $this->db->query($sql)->result();
 
  echo json_encode($result);
 }
}

/* End of file zdGroup.php */
/* Location: ./application/controllers/zdGroup.php */
첨부파일 config.zip (14.7 KB)
 다음글 우분투에 ci 설치가 안됩니다.. (3)
 이전글 ci공부방법??? (3)

댓글

taegon / 2015/02/16 16:44:06 / 추천 0
프로파일러를 활성화 하셔서 쿼리 및 전반적인 속도에 대해서 확인해보시는 것이 좋을듯 합니다.
$this->output->enable_profiler(TRUE); 를 컨트롤러에 넣으시면 확인하실 수 있습니다.
한대승(불의회상) / 2015/02/16 17:12:44 / 추천 0
데이터가 몇건 정도 되는지 모르겠지만 like 검색은 속도가 상당히 느리답니다.
taegon님 말씀대로 프로파일러를 활성화 시켜 확인 해보시고, 실제 만들어진 SQL문을 DB에서 실행 시켜보세요.
ci세상 / 2015/02/17 06:23:35 / 추천 0
이렇게 해야 인덱스 먹습니다.
WHERE $searchField LIKE '$searchValue%'

%~% / concat등의 펑션 / order by 와 같은 소팅정렬 / CREATE_DATE 디비타입등이 디비 부하 요소 같습니다.
정현주 / 2015/02/17 13:08:28 / 추천 0
답변 감사합니다.
뎅데이터 건수가 10건 정도 밖에 되지 않기 때문에 쿼리수행속도가 원인은 아닌것으로 생각됩니다.

ajax를 이용해서 서비스를 호출하고있는데요, ajax를 사용하는경우에는 $this->output->enable_profiler(TRUE); 이 구문을
어떻게 사용해야하는지 잘 모르겠네요;;

화면을 열면 아래와 같이 데이터를 조회하는 서비스에서 시간이 오래걸리고 있습니다.

정현주 / 2015/02/17 13:11:03 / 추천 0
한대승(불의회상) / 2015/02/17 13:22:38 / 추천 0
ajax 콜에 해당하는 url을 클릭하시면 preview 에서 확인 가능 합니다.