Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > varbinary to int


Автор: setnull 17.1.2012, 11:29
Все здравствуйте!!!

В последовательности varbinary хранятся целые числа в двоичном представлении.
Существует ли более изящный и, что более интересно, менее время\ресурсо-затратный способ извлечения этих значений, чем приведеный

Код

conv(hex(substr(varbinaryValue, offset, scale)), 16, 10) 


Спасибо!!!

Автор: Akina 17.1.2012, 13:15
Да. Хранить  в Int. 

Автор: setnull 17.1.2012, 15:39
речь идет именно о последовательностях значений.
при этом не будет ли при хранении их как отдельных полей проигрыша во время построения многоэтажных
Код

case offset
  when 0 then field0
  when 1 then field1
  when 2 then field2
  .............
  ...........
end


Хотя уже и сам подозреваю, что не будет, и в принципе, для моей задачи этот подход будет более приемлемым.

Но все же интересно именно извлечение из varbinary. Есть ли более быстрые способы?

Кстати, вообще в идеале было бы конечно хорошо вообще смастерить подчиненную таблицу {masterRow, offset, value}
при такой архитектуре соединение по индексированным masterRow(4b)+offset(пусть даже в 1b) также было бы быстрей, чем извлечения соответствующего значения из последовательности varbinary текущей же записи 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)