2017-04-10 4 views

답변

1

현재 데이터베이스의 모든 테이블에 대해 SELECT COUNT(*) 쿼리를 실행하는 것보다 나은 것은 없습니다. 이는 매우 느립니다. 대신 관리자 UI의 데이터 크기를 근사치로 사용하는 것이 좋습니다.

모든 행의 정확한 수가 여전히 필요한 경우 셸 스크립트를 사용하여 information_schema에서 모든 테이블 이름을 수집하고 모두에 대해 COUNT(*) 쿼리를 발행 할 수 있습니다.

예를 들어, 다음 코드는 cats 데이터베이스의 모든 테이블에 대한 행 수를 인쇄합니다

tables=$(cockroach sql -e "SELECT table_name FROM information_schema.tables WHERE table_schema='cats'" | sed 1,2d) 
for table in $tables; do 
    cockroach sql -e "SELECT '$table', COUNT(*) FROM cats.$table" 
done