데이터가 많은 테이블의 count(*)는 어떻게 구해야 하나요?? 0 2 590

by 김쿠쿠 [Oracle 기초] [2018.07.25 08:29:05]


개발DB의 CPU가 100%를 치고, 리부팅을 해도 계속 100%를 쳐서,

생각을 해보니 상용DB는 주기적으로 6개월이 넘은 데이터를 삭제하거나 했지만,

개발 DB는 데이터를 지우거나 한적은 없었던것 같아요.

 

해서 데이터가 많이 쌓이는 테이블들 카운트를 조회해보려고 했는데,

한 5분 지나도록 count(*)가 안되네요.

이런 경우엔 이 테이블에 대해서 정보를 보고 싶으면 어떻게 해야 할까요?

 

by 꿈을향해 [2018.07.25 08:58:54]

100% 정확한 값이 아닌 근사값이 라면 통계정보(Dictionary View)를 이용하면 될것같습니다.

-Oracle : SELECT num_rows FROM USER_ALL_TABLES WHERE TABLE_NAME='';

-Mysql : SELECT table_rows FROM information_schema.tables WHERE table_name='';


by 우리집아찌 [2018.07.25 09:28:17]

인조식별자 사용하는경우는 max값을 가지고 판단할수도 있습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입