儲存空間大小計算
本頁面說明 Firestore 中文件、文件名稱、欄位和索引項目的儲存空間大小。
您可以在 Firestore 定價查詢這類儲存空間的費用。字串大小
字串大小按 UTF-8 編碼位元組的數目 + 1 計算。
以下均以字串形式儲存:
- 集合 ID
- 字串文件 ID
- 文件名稱
- 欄位名稱
- 字串欄位值
例如:
- 集合 ID
tasks
使用 5 個位元組 + 1 個位元組,共 6 個位元組。 - 欄位名稱
description
使用 11 個位元組 + 1 個位元組,共 12 個位元組。
文件 ID 大小
文件 ID 的大小為字串 ID 的字串大小,或是整數 ID 的 8 個位元組。
文件名稱大小
文件名稱的大小是以下幾項的總和:
- 文件路徑中每個集合 ID 和文件 ID 的大小
- 16 個額外位元組
如果子集合 users/jeff/tasks
中的文件具有 my_task_id
字串文件 ID,則文件名稱大小為 6 + 5 + 6 + 11 + 16 = 44 個位元組:
users
集合 ID 佔 6 個位元組jeff
文件 ID 佔 5 個位元組tasks
集合 ID 佔 6 個位元組my_task_id
文件 ID 佔 11 個位元組- 16 個額外位元組
欄位值大小
下表依類型顯示欄位值的大小。
類型 | 大小 |
---|---|
陣列 | 其值的大小總和 |
布林值 | 1 個位元組 |
位元組 | 位元組長度 |
日期與時間 | 8 個位元組 |
浮點數 | 8 個位元組 |
地理點 | 16 個位元組 |
整數 | 8 個位元組 |
地圖 | 地圖大小,計算方式與文件大小相同 |
空值 | 1 個位元組 |
參考資料 | 文件名稱大小 |
文字字串 | UTF-8 編碼位元組數目 + 1 |
向量 | 每個維度 8 個位元組 |
舉例來說,名為 done
的布林值欄位會使用 6 個位元組:
done
欄位名稱佔 5 個位元組- 布林值佔 1 個位元組
文件大小
文件大小是以下幾項的總和:
這個範例適用於子集合 users/jeff/tasks
中的文件,且文件 ID 為字串 my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
欄位的總大小是 71 個位元組:
欄位名稱和值 | 欄位大小 (以位元組為單位) |
---|---|
"type": "Personal" |
14 5 個字元 (欄位名稱) + 9 個字元 (欄位字串值) |
"done": false |
6 5 個欄位名稱 + 1 個欄位布林值 |
"priority": 1 |
17 欄位名稱佔 9 個 + 欄位整數值佔 8 個 |
"description": "Learn Cloud Firestore" |
34 欄位名稱佔 12 個 + 欄位字串值佔 22 個 |
因此,文件大小是 44 + 71 + 32 = 147 個位元組:
- 文件名稱佔 44 個位元組
- 欄位佔 71 個位元組
- 32 個額外位元組
索引項目大小
以下列舉單一欄位索引和複合式索引的索引項目大小計算方式。
單一欄位索引項目大小
單一欄位索引項目的大小取決於索引範圍是集合還是集合群組。
集合範圍
具有集合範圍的單一欄位索引項目大小是以下幾項的總和:
假設子集合 users/jeff/tasks
中有文件,且字串文件 ID 為 my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
如果集合範圍的單一欄位索引會為 done
欄位建立索引,則這個索引中的項目總大小為 109 個位元組:
- 文件名稱
users/jeff/tasks/my_task_id
佔 44 個位元組 - 父項文件的文件名稱
users/jeff
佔 27 個位元組 done
欄位名稱佔 5 個位元組- 布林值欄位值佔 1 個位元組
- 32 個額外位元組
集合群組範圍
設有集合群組範圍的單一欄位索引中,索引項目的大小是以下幾項的總和:
假設子集合 users/jeff/tasks
中有文件,且字串文件 ID 為 my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
如果集合群組範圍的單一欄位索引會為 done
欄位建立索引,則此索引中的項目總大小為 98 個位元組:
- 文件名稱
users/jeff/tasks/my_task_id
佔 44 個位元組 done
欄位名稱佔 5 個位元組- 布林值欄位值佔 1 個位元組
- 額外 48 個位元組
複合式索引項目大小
複合式索引項目的大小取決於索引的範圍是集合還是集合群組。
集合範圍
集合範圍複合式索引的索引項目大小是以下幾項的總和:
假設子集合 users/jeff/tasks
中有文件,且字串文件 ID 為 my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
如果集合範圍的複合式索引會將 done
和 priority
欄位 (皆為遞增) 編入索引,則此索引中的項目總大小為 112 個位元組:
- 文件名稱
users/jeff/tasks/my_task_id
佔 44 個位元組 - 父項文件的文件名稱
users/jeff
佔 27 個位元組 - 布林值欄位值佔 1 個位元組
- 整數字段值佔 8 個位元組
- 32 個額外位元組
集合群組範圍
集合群組範圍的複合式索引中,索引項目的大小是以下幾項的總和:
假設子集合 users/jeff/tasks
中有文件,且字串文件 ID 為 my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
如果複合式索引具有集合群組範圍,且會將 done
和 priority
欄位 (皆為遞增) 編入索引,則此索引中的索引項目總大小為 85 個位元組:
- 文件名稱
users/jeff/tasks/my_task_id
佔 44 個位元組 - 布林值欄位值佔 1 個位元組
- 整數字段值佔 8 個位元組
- 32 個額外位元組