database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 6771 게시물 읽기
No. 6771
데이터 레코드 양이 많을시 select 등 쿼리 속도
작성자
질문
작성일
2013-12-09 21:56
조회수
10,308

 mssql server를 쓰고 있는데  문제가 되는게 쿼리 속도 관련해서인데

한 테이블에 데이터는 지금 약 134만개가 들어가 있습니다.  칼럼 개수는 35개이고  레코드가 134만개 인데 

그냥 단순히  select  칼럼명  from 테이블   ->  이 하나의 쿼리가  sql server 에서 돌려보니 무려 5초씩이나 걸립니다. 

select * from 테이블  *를 해서 모두 출력하면 10초가 넘어가기도 합니다.   그리고  하루에 이 테이블에 100만개정도 삽입될 예정이고 .....   한달데이터로 치면 3000만개 정도 쌓일수도 있는데

select 문 하나 조차 이렇게 시간이 오래 걸려서야   이걸로 웹페이지를 만들려고 하는데   이 속도는 어떻게 해야 개선이 가능한가요?

원래 100만개 정도 있으면 저정도 속도가 걸리는 건가요?   그러면 테이블을 100만개 이하로 해서 분할 해야되는건가요?  그런 방법이 있다면 어떤건지,.....

찾아보니 인덱스 얘기가 있던데 인덱스는   테이블 수정이 잦아서 안될거 같고,  도대체 무슨 방법이 있을까요? 감이 잡히지가 않습니다.   

이 테이블로 다른테이블과 조인도 하고  한달 데이터 검색할려 할거를 생각하니,  어떤 방법이 있는지 해결책이 있는지 알고 싶습니다.  

이 글에 대한 댓글이 총 4건 있습니다.

update나 delete가 빈번할 수록 최소한의 PK index가 없으면 속도는 시궁창됩니다.

 

일단 where에 적절한 index를 만들고 test부터 해보세요.

우욱님이 2013-12-10 12:51에 작성한 댓글입니다. Edit

테이블을 생성할떄 priamry key를 지정하므로 이미 인덱스가 지정되있고 인덱스로 검색을 해도 데이터가 많아서 그런지 느립니다. 다른 방법이 필요할거 같습니다만

질문님이 2013-12-10 13:55에 작성한 댓글입니다. Edit

그렇다면 실행계획의 확인이 필요한 시점입니다.

 

실행계획을 보여주세요.

우욱님이 2013-12-10 14:23에 작성한 댓글입니다. Edit

 

"select * from 테이블  *를 해서 모두 출력하면 10초가 넘어가기도 합니다."

당연합니다. 

적절하게 필터링하지 않은 데이터는 정보로서 활용가치가 없습니다. 

 

테이블에 있는 모든 데이터를 select 해서 보는것이 무슨 의미가 있는지요?

 

데이터 분포에 맞춰 적절한 인덱스 

그것도 안되면, 쿼리를 작성한 이유(업무)를 다시 분석해서 제약을 둬야죠.

 

cReAm(catz)님이 2013-12-11 18:15에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6775열을 행으로 바꾸는 방법좀 알려주서요 [4]
이남현
2013-12-12
10899
6774select절 스칼라서브쿼리 반환되는 컬럼이 여러개일때 어떻게 하면 좋을까요?(다중컬럼) [3]
cReAm
2013-12-11
10610
6773이게 가능할까요? [2]
궁금
2013-12-10
8007
6771데이터 레코드 양이 많을시 select 등 쿼리 속도 [4]
질문
2013-12-09
10308
6770자답입니다. ^ㅡ^ [3]
wolfre
2013-12-09
7981
6769안녕하세요.. [4]
초보입니다.
2013-12-09
7629
6768다중 업데이트? 배열 업데이트? 궁금해요 [3]
이성원
2013-12-06
9280
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다