테이블구조는
sid (int, pk)
no (int)
name (varchar 50)
tax (int)
입니다.
1억건 데이터를 임의로 집어 넣었습니다.
where 조건에 맞는 데이터만
빠르게 카운팅 해야합니다.
insert update delete 는 안하고
오로지 select 만 하는 테이블입니다.
blocking 하고 select 하면 좀 더 빠른가요 ??
아님, 테이블 뷰를 만들어서 조회하면 좀 빠를려나여 ???
도와줍세요.
p.s 테이블 뷰 만들면, 데이터가 메모리에 올라가나요 ????
Comment 4
-
미르리
2011.09.15 14:00
-
이스트럭(강동운)
2011.09.15 15:01
안녕하세요.. ^^
어떤 조건으로 SELECT 를 할건지에 대해서 자세히 올려주시면..
더 좋은 답변이 나오지 않을까 기대해봅니다.
감사합니다. ^^
-
쭈운
2011.09.16 13:18
인덱스 설정하는것도 고려해보시고
select *이 아닌 select SID, no 이렇게 컬럼 수도 조절해보시는것도 생각해보시고
미르리 말씀대로 파티셔닝도 고려해보세요
또 다른 방법이 있는지 궁금합니다.
-
김상수(바쉬*^^*)
2011.09.17 02:40
sid (int, pk)
no (int)
name (varchar 50)
tax (int)
에서 sid 는 주민번호 이고, no는 순번 또는 주민번호순번, name은 이름, tax 는 세금 같습니다.sid 에는 클러스터인덱스
no, name, tax 는 각각 넌클러스터 인덱스 를 만드세요.조회조건이 어떤게 선별될지 모르기 때문에 인덱스를 모두 만드시면 됩니다.
(데이터 변경이 없다고 하셨기 때문입니다.)
select count(*)from tblx with(nolock)
조건 아무거나
P.S. 아뇨~ ^^
테이블을 파티셔닝 해보세요