Firestore: отметка времени и строка даты "гггг-мм-дд". Что меньше (размер файла)? - PullRequest
1 голос
/ 01 апреля 2020

Что будет меньше для хранения в Firestore и отправки клиенту?

Массив с тысячей элементов:

[
  {date: firestore.Timestamp.fromDate(new Date(Date.UTC(2020,2,25))), value: 1.1},
  {date: firestore.Timestamp.fromDate(new Date(Date.UTC(2020,2,26))), value: 1.2},
  {date: firestore.Timestamp.fromDate(new Date(Date.UTC(2020,2,27))), value: 1.3},
  {date: firestore.Timestamp.fromDate(new Date(Date.UTC(2020,2,28))), value: 1.4},
  // AND SO ON
]

VS

[
  {date: "2020-03-25", value: 1.1},
  {date: "2020-03-25", value: 1.2},
  {date: "2020-03-25", value: 1.3},
  {date: "2020-03-25", value: 1.4},
  // AND SO ON
]

ВОПРОС

Мой вопрос: является ли временная метка пожарного магазина больше / меньше текстовой строки "yyyy-mm-dd"? Должен ли я предпочесть одно другому?

ПРИМЕЧАНИЕ: Это будет отправлено клиенту. Вот почему я ищу вариант с меньшим размером файла.


ОБНОВЛЕНИЕ:

От: https://firebase.google.com/docs/firestore/storage-size

enter image description here

Означает ли это, что поле timestamp занимает 8 байт (из строки Date and time в таблице)?

И " гггг-мм-дд "займет 11 байт ? 10 закодированных символов + 1?

1 Ответ

1 голос
/ 01 апреля 2020

Мой вопрос: является ли временная метка Firestore больше / меньше текстовой строки "гггг-мм-дд"?

Конечно, строка, содержащая 10 символов, больше, чем объект Date.

Количество байтов, используемых для представления строки, полностью зависит от используемой кодировки. Поскольку Firestore использует UTF-8, строка, которая имеет это представление:

"2020-03-25"

Занимает 10 + 1 = 11 байт, в то время как объект Date всегда будет занимать 8 байт.

Bear in Имейте в виду, что в Firestore не всегда размер, а скорее функциональность, которую вы получаете. Если вы сохраните даты в виде строк, вы не сможете упорядочить результаты, так как упорядочение производится лексикографически. При использовании Date вы можете упорядочить по возрастанию или по убыванию.

Недавно я ответил на относительно похожий вопрос:

Это может помочь вам, если вы все еще планируете хранить даты в виде строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...