2017-04-10 13 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 
関連する問題