Максимальный размер ArrayField? - PullRequest
0 голосов
/ 19 апреля 2020

Я собираюсь использовать ArrayField Django для хранения довольно большого списка, возможно, 500-50 000 элементов. Это короткие идентификаторы типа 283974892598353920, но я беспокоюсь о достижении какого-то верхнего предела. Существуют ли ограничения для Django Postgres ArrayField?

1 Ответ

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

Если ваши идентификаторы состоят исключительно из цифр и остаются ниже 2 ^ 63 (9223372036854780000), я предлагаю массив bigint в качестве типа данных: bigint[]. Это занимает 8 байт на элемент (плюс небольшие накладные расходы).

Ваш приведенный пример 283974892598353920 равен примерно 2 ^ 60 и находится в этом диапазоне.

Единственный соответствующий Postgres limit - максимальный размер поля 1 ГБ, допускающий примерно 2 ^ 60 элементов. 50000 даже не близко.

Связано:

Тем не менее, рассмотрите наборы (таблицы) вместо огромных массивов, если вы хотите выполнять какие-либо запросы к данным. Производительность ухудшается для огромных массивов.

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