Как эффективный способ вставить большой varbinary в MySQL, используя клиентскую библиотеку MySQL на C / C ++.
Я понимаю, что я могу хранить двоичные данные путем преобразования в шестнадцатеричную строку
INSERT INTO Table (VarBinaryColumn) VALUES (0x1234)
Тем не менее, этот подход довольно неэффективен, так как каждый раз мне приходится преобразовывать большие двоичные данные в шестнадцатеричную строку перед ее сохранением. Он также имеет дополнительные затраты на резервирование пространства (в два раза больше) для преобразования, что исключает любые преимущества, которые имеет VARBINARY. Этот подход может хорошо работать с командной строкой, но не нужен при использовании C / C ++.
У нас есть требование для хранения текстовых и двоичных данных, и ранее мы выбрали VARBINARY, но эти накладные расходы довольно велики для нашего приложения, поскольку у нас есть большое количество таких транзакций.
Редактировать: Есть ли способ, которым мы можем сделать это без шестнадцатеричного разговора? Конечно, шестнадцатеричный разговор для нас не вариант, каким бы быстрым он ни был.
Спасибо за вашу помощь и предложения.
Задача ещё не решена.
Других решений пока нет …