###### tags: `FAQ` # 快速計算資料筆數 ## 一般常見用法 - count(*) - 每次計數都需要回傳整筆資料 ```psql= SELECT count(*) FROM pgtable; count ----------- 1000000000 (1 row) Time: 70095.569 ms (01:10.096) ``` ## 建議使用 - count(1) - 每次計數只確認是否還有資料 ```psql= SELECT count(1) FROM pgtable; count ----------- 1000000000 (1 row) Time: 5235.529 ms (00:05.236) ``` - 注意: - count(1) 的"1"是常數, 只要是常數都可以, 字串也行 - 不要使用欄位名稱, 因為這樣 count 會不計數 null 的資料, 而非全部資料, 除非這是你的目的 ## 偷看答案 - 查看前次 vacuum 的記錄 - 不是即時的筆數, 也無法進行條件運算 ```psql= SELECT reltuples::bigint FROM pg_class WHERE relname='pgtable'; reltuples ----------- 1000000000 (1 row) Time 0.534 ms
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up