안녕하세요.
content 필드에 text 형식으로 되어 있습니다.
이곳에 고정내용이 들어있어서 하나게시물 등록할때 대략 DATALENGTH(content) 파악을 해보면
90000 자 이상 들어가집니다.
그래서 그런지 현재 데이타저장된것이 450건정도 됩니다.
검색이 무지 느립니다. 대략 13~15초 걸리더라구요.
기존검색쿼리문 : content like '%검색어%'
너무 느려서 임시로 컨버터를 사용하여서 강제로 변환하였고 사용중입니다.
이렇게요. : convert(varchar(8000),content)
속도는 한 1~2초사이라서 어느정도 나오지만 이렇게 해놓으면 이건 1 ~ 8000 자 사이를 검색하는것이고.
8000자 이상 ~ 90000자 사이에 있는 검색내용은 검색이 안되는것으로 알고 있습니다.
혹시 이것을 어떻게 해결해야 될런지요? 해결할수 있는 쿼리문이 있을까요?
90000 자 정도 들어가니
content 데이타형식을 변경하면 내용이 max 길이때문에 못 들어갈것 같고요.
그럼 속도가 느리고요. 그렇다고 이것을 convent 로 변경하면 뒷부분은 검색이 안될듯 하고요.
이런경우 어떻게 처리를 해야 되는지요?
업체에서 난리도 아니네요.
처음에 제작할때 90000 자 이상 쌓아놓으면 몇개안싸여서 느려질수 있다고 분명히 말했는데요?
지금와서는 그런것 모르니까 빠르게 검색되게 해달라고 하는데요?
문제는 그나마 지금 폼에 적응되어서 다른형식으로 변경을 못하겠다고 하십니다.
그렇다면요. 혹시 검색은 1 ~ 90000 자 모두 검색가능하게와 속도가 좀더 올라가게 할려면
어떤식으로 처리를 해야 될런지요.
조언 부탁드립니다.
그럼 수고하세요.
아! 그리고 궁금한것이 하나 있습니다.
예를들면요.
첫번째 테이블에는 사용하는 필드는 내용필드 딱 한개이고요. 그 내용필드에 내용이 무지 많습니다. (90000자정도)
두번째 테이블에는 사용하는 필드가 100개정도 되고요. 내용들은 엄청 적습니다.
이 두 형식으로 데이타가 쌓인수량이 1000건이 있다면요.
검색은 내용한개만 검색하는것이 빠른가요?
아님 or문을 사용해서 필드를 통째로 검색하지만 내용이 별로 없는 필드가 빠른가요?
이 부분도 조언 좀 부탁드립니다.
그럼 수고하세요.
Comment 3
-
처리짱
2014.08.08 17:30
-
김영환_281520
2014.08.08 17:53
답변감사드립니다.
max 넣으니 쿼리문에서 인식 못하더라구요.ㅠㅠ
우선 다른쪽으로 해결하였습니다.
content2 라는 필드를 만들어서 등록시 태그를 뺀 내용만 들어가게 하였고
그후 content2 에서 검색되게 하였습니다. -
이성필
2014.09.16 01:22
SQL server 2000 이라 오류가 나는 듯 합니다. 2005 만 되도 쓸 수 있을 건데...
like 가 앞뒤로 걸리닌 테이블 스캔이 일어 날것으로 예상되고요
convert(varchar(max),content)로 하면 일단 검색은 다 되겟네요..
90000자 이상 들어있는 테이블을 like안해봐서 잘 모르겠네요 ㅎㅎ;
풀텍스트서치가 대안이라면 대안일까요?;;