mysql 데이터베이스 최근등록순으로 SELECT하게 수정하려 하는데요.

2018-12-21 (금) 00:54:55 2,285

안녕하세요. 단축URL 사이트를 운영중인데, DB가 많이 쌓이다 보니 SELECT 쿼리 처리하는데 시간이 점점 오래 걸리네요.

리다이렉팅 하는 소스가 아래와 같은데 오래된 DB 순서로 SELECT하다보니 DB가 늘어 날 수록 느려지는 현상이 있는것 같아서요. 최근 등록일 순으로 SELECT하게 하려면 웹소스 수정으로 처리가 가능한가요?

아시는 고수님들의 답변 기다립니다. ㅠㅠ

Copy
private function redirect(){
 // Filter do
 $this->filter($this->do);
 // Fetch URL and show 404 if doesn't exist
 if(!$url=$this->db->get("url","custom=:id OR alias=:id",array("limit"=>1),array(":id"=>$this->action))){
            return $this->_404();
 }
|

답변 1개

예상컨데 array("limit"=>1) 이 부분이 배열로 넘어가는 걸 보면 여기에다가 등록일을 order by 로 넘기면 될거 같습니다.

정확히 어떻게 넘겨야 할지는 소스를 봐야 알겠지만 소스를 찾아보면 비슷한 부분이 분명 있을거 같습니다.

array('order by'=>'등록일 desc', 'limit'=>1) 또는 array('order by'=>'등록일 asc', 'limit'=>1)

이렇게 한 번 해 보시겠습니까?

오류나면 다시 소스 원래대로 돌리시구요.

답변을 작성하려면 로그인이 필요합니다.