我已經看到其他資料庫(MySQL、SQL Server 等)的這個問題的答案,但沒有看到 PostgreSQL 的答案。那么,選擇表的行數是否更快/更好COUNT(1)?COUNT(*)
uj5u.com熱心網友回復:
對差異進行基準測驗
上次我對 PostgreSQL 11.3之間的差異進行基準測驗COUNT(*)COUNT(1)時,我發現它COUNT(*)快了大約 10%。Vik Fearing 當時的解釋是常量運算式1(或至少它的可空性)正在為整個計數回圈進行評估。我還沒有檢查這是否已在 PostgreSQL 14 中修復。
在現實世界的查詢中不要擔心這個
但是,您不必擔心這樣的性能差異。10% 的差異在基準測驗中是可以測量的,但我懷疑您能否在普通查詢中始終如一地測量這種差異。此外,理想情況下,所有 SQL 供應商都以相同的方式優化這兩個東西,因為這1是一個常量運算式,因此可以被消除。正如上面文章中提到的,我在我測驗過的任何其他 RDBMS(MySQL、Oracle、SQL Server)中都找不到任何差異,我也不認為會有任何差異。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/448464.html
標籤:sql PostgreSQL 数数
