10k символов. В чем хранить?
Модератор: kdv
10k символов. В чем хранить?
В базе (FireBird 1.5.2) нужно хранить строковые данные в пределах 10к символов. В чем лучше хранить varchar или blob???
Данные - просто текст или rtf. Задача спускаемая от руководителя к подчиненному.
Обращаться. Задача поставлена. Получена.Выполнена. Получен отчет. Тоже <10k и эта запись трогаться будет только в том случае если будут подниматься архивы.
Принцип базы 1 задача 1 одна запись.
Т.е. все, что относится к задаче лежит в одной записи, кроме списка пользователей.
Он в связанной таблице.
Обращаться. Задача поставлена. Получена.Выполнена. Получен отчет. Тоже <10k и эта запись трогаться будет только в том случае если будут подниматься архивы.
Принцип базы 1 задача 1 одна запись.
Т.е. все, что относится к задаче лежит в одной записи, кроме списка пользователей.
Он в связанной таблице.
блобы хранятся на отдельных страницах, если туда не влезают. если так и будет, то это улучшит производительность. большой varchar в записи приведет к фрагментации записи (размещение ее на нескольких страницах), если содержимое такого varchar будет больше размера страницы.
так что, если к этим данным обращения идут реже, чем к другим столбцам записи, blob лучше (особенно, если блоб всегда вынимают применительно к конкретной записи, и никогда не выбирают несколько штук сразу).
обнаружить фрагментацию записей блобами можно IBAnalyst-ом, прочитать о ней можно в его хелпе (доп. вопросы и ответы).
так что, если к этим данным обращения идут реже, чем к другим столбцам записи, blob лучше (особенно, если блоб всегда вынимают применительно к конкретной записи, и никогда не выбирают несколько штук сразу).
обнаружить фрагментацию записей блобами можно IBAnalyst-ом, прочитать о ней можно в его хелпе (доп. вопросы и ответы).