Всегда ли в PayPal "PNREF" 12 символов? - PullRequest
0 голосов
/ 01 марта 2019

Кто-нибудь знает, имеет ли PayPal значение "PNREF" (возвращаемое из авторизаций с нулевым долларом) всегда 12 символов?

Я спрашиваю об этом, потому что хочу оптимизировать хранилище mySQL.

А также, я доверяю ответу SO больше, чем ответу PP: -D

1 Ответ

0 голосов
/ 01 марта 2019

Не «оптимизируйте» свое хранилище.Мало того, что диски терабайтного размера серверного уровня стоят всего несколько сотен долларов, что делает затраты на хранение нескольких байтов почти нулевыми, но столбцы VARCHAR(255) занимают столько же места, сколько у вас есть контент, потому что они являются переменными длина .

Если вы выполнили миллион транзакций и сохранили по десять байтов в каждой, вы сохранили все десять мегабайт данных или около $ 0,0001 хранилища.Я предполагаю, что если вы запустили миллион транзакций, вы можете позволить себе байты.Плата PayPal будет буквально в несколько квадриллионов раз выше .

На самом деле экономия между 12 символами в VARCHAR(12) и VARCHAR(255) нулевая.Внутренне они представлены в виде байта одной длины плюс N байтов для содержимого.Для обычных 7-битных значений это означает 13 байтов для каждой записи.

Единственное отличие состоит в том, что вы произвольно ограничиваете первое до 12 символов и получите ошибки усечения (если этот флаг установлен, как и на более новых)версии MySQL), если вы вставите более длинные значения, или вы потеряете данные и не будете знать, пока, вероятно, не станет слишком поздно это исправить.

Просто используйте VARCHAR(255), чтобы ваш код не взорвался, когда PayPalрешает сегодняшний день использовать 14 символов.Эти вещи могут меняться без предупреждения и без какой-либо логической причины.

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