мне нужно хранить:PHP массив для двоичных данных?
array(1,2,3,4,5);
в тузде сгусток.
Как преобразовать этот массив в двоичные данные?
мне нужно хранить:PHP массив для двоичных данных?
array(1,2,3,4,5);
в тузде сгусток.
Как преобразовать этот массив в двоичные данные?
Это зависит в основном от того, как вы используете эту информацию. Идентификаторы обычно используются для идентификации ресурса и, следовательно, должны быть уникальными, а не нулевыми и индексируемыми.
В соответствии с этими стандартами не использовать как blob.
В основном потому, что поиск по содержанию медленнее, чем как встроенная переменная. Кроме того, базы данных SQL сортируют содержимое таблицы для обеспечения более быстрых запросов.
Если вам нужно только сохранить информацию, а затем использовать другой идентификатор, чтобы идентифицировать этот ресурс (и их можно легко проанализировать по строкам/цифрам, тогда не используйте blob). Двоичный файл обычно использует 8 байт на символ. Число может содержать одну и ту же информацию, используя меньше полной памяти. Например, 1902334123 (случайная разбивка клавиатуры) использует 10 * 8 = 80 байт на жестком диске, в то время как 32-разрядное целое число со знаком может удерживать его.
Наконец, если то, что вам нужно просто хранить несколько блоков данных, что ваша проблема с последовательным VARCHAR для чтения в виде строки, так как это может решить вашу проблему
Вы подняли некоторые хорошие моменты в отношении памяти, которые я не думал. Я не особо сохраняю значения как json_encoding, потому что он выглядит неряшливым, но кажется, что вы правы, когда речь идет о потреблении памяти. –
Не только потребление памяти (так как плохо используемый код может использовать это или более при хранении VARCHAR), но вы теряете собственные индексы и алгоритм отображения, которые позволяют массивные запросы с множеством возможных единиц сортировать и реагировать как можно меньше информации. Представьте себе 10 тысяч алфавитных отсортированных предложений ... если вы хотите «запросить *, который начинается с x», а в строке от 0 до 500 начинается с v, вам даже не нужно смотреть на них .. но если у вас есть файлы, вам нужно будет открыть каждый из них – Bonatti
вы можете конвертировать в формат JSON и хранить в БД :
json_encode($array);
и когда вы вернетесь из БД:
json_decode($array);
целью вниз голосования? –
Ваш вопрос показывает небольшое усилие. – dan08
@ dan08 Если вы проверите изменения, вы увидите, что его вопросы не в том, как хранить файл blob, а в том, почему/как следует хранить больший объем информации ... – Bonatti