2015-03-05 2 views
0

Я хотел бы узнать, можете ли вы запросить столбцы blob (большой/средний любой) и получить байты от N до M, чтобы вы могли запросить огромный файл blob и получить только небольшие фрагменты это в вашем наборе результатов. Если это возможно в MySQL, как вы можете это сделать (пример, пожалуйста!)?MySQL get blob N bytes

Я нашел это question для обычного текста, но как насчет того же для байтов?

ответ

1

Вы можете найти ответ здесь: MySQL blob: how to get just a subset of the stored data

MySQL обрабатывает blobs the same as strings (more or less):

BLOB значения обрабатываются как двоичные строки (байт строк). У них нет набора символов, а сортировка и сравнение основаны на числовых значениях байтов в значениях столбцов.

Итак, все обычные строковые функции работают на блобах. В частности, вы можете использовать substring, чтобы захватить часть фрагмента.

Это говорит о том, что хранить многогигабайтный файл данных в реляционной базе данных в виде BLOB - это не лучшая вещь. Вам лучше хранить метаданные файла в базе данных и оставить сам файл в файловой системе; файловые системы довольно хороши в управлении файлами, реляционные базы данных хорошо подходят для обработки структурированных данных.

+0

Спасибо за ваш ответ, я согласен, не лучшая идея хранить большие файлы там, но если это уже то, что реализовано, хорошо ... –

Смежные вопросы