'ROW수'에 해당되는 글 1건

반응형

가끔 테이블의 전체 Row수를 가져와야 할 경우 어떤것이 더 좋은지를 설명하겠습니다.

제가 처음에 MS-SQL을 사용할 때 "select count(*) from table명" 이렇게 사용했습니다.

한 몇천개 데이터가 있는 곳에서는 전혀 문제가 안됬죠...

근데 데이터가 쌓이다 보니.. 문제가 발생

count(*) -> count(0)으로 하면 좋습니다.

*라고 하는 건 모든것을 의미합니다. 테이블의 모든부분을 보기 때문에 아무리 컴퓨터라도 시간이 걸릴 수밖에 없죠 0이라고 하는건 첫번째 즉 첫번째 열만 보게 되기 때문에... 모든걸 보는것보다는 빨라지죠...

근데.... 데이터가 더더더 많이 쌓이게 된다면???

요즘은 빅데이터다 보니...

테이블에 5천만건이상의 데이터를 넣어봤습니다.ㅎㅎ

select count(0) from tb_test -> 총 시간이 4분 이상 걸렸죠...

이러면... 나라도 그냥 홈페이지 끄고 다른곳으로 갈 것 같습니다...

커피 한잔을 마실 수 있는 시간이니까요..

SELECT DISTINCT MAX(A.rows)

FROM SYSINDEXES AS A

INNER JOIN SYSOBJECTS AS B ON A.id = B.id

WHERE B.type = 'U' and B.name = 'tb_test'

위와 같이 쿼리를 만들어서 실행한결과...... 0초...

5천만건 0초!!!!ㅎㅎㅎㅎㅎ

데이터는 모두 날린 상태라 스크린샷은 없지만...

정말 유용할 것 같은 쿼리입니다.

반응형
로그 이미지

우주의빛

자료를 공유하고 좋은자료 추천 하는 곳입니다.

,