powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Длинные строки
15 сообщений из 15, страница 1 из 1
Длинные строки
    #38849452
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте,
Есть таблица в ней ~250000 строк. К некоторым из них (~ 1-3% ) есть примечания. Размер примечания может быть достаточно большим, >1000, но может и 50-60.
Поиск по этим строкам не нужен. По сути нужно только при печати.
Вопрос как хранить?
Вижу такие варианты:
1. Varchar(2000) прямо в таблице (чтобы с запасом)
2. BLOB в таблице
3. Отдельная таблица примечаний, связанная с основной таблицей

Подскажите где прочитать про хранение VARCHAR. Как увеличится размер базы если строка станет VARCHAR(10000)?

P.S. Вариант 3 реализовывать лениво :)
...
Рейтинг: 0 / 0
Длинные строки
    #38849453
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений> По сути нужно только при печати.

Операция редкая или просмотр тоже?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Длинные строки
    #38849461
Шавлюк Евгений,

на ibase.ru статья была, древняя, правда.
...
Рейтинг: 0 / 0
Длинные строки
    #38849486
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк ЕвгенийЕсть таблица в ней ~250000 строк. К некоторым из них (~ 1-3% ) есть примечания.Шавлюк Евгений3. Отдельная таблица примечаний, связанная с основной таблицей+1, можно в виде ключ+текстовый блоб.
Шавлюк Евгенийстрока станет VARCHAR(10000)для УТФ8 потолок 8к.
...
Рейтинг: 0 / 0
Длинные строки
    #38849488
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк ЕвгенийЗдравствуйте,
Есть таблица в ней ~250000 строк. К некоторым из них (~ 1-3% ) есть примечания. Размер примечания может быть достаточно большим, >1000, но может и 50-60.
Поиск по этим строкам не нужен. По сути нужно только при печати.
Вопрос как хранить?
Вижу такие варианты:
1. Varchar(2000) прямо в таблице (чтобы с запасом)
2. BLOB в таблице
3. Отдельная таблица примечаний, связанная с основной таблицей

т.к. индексов по нему не будет то 1. Varchar(2000), 250 000 строк это не так много, что-бы было критично.

Шавлюк Евгений... Как увеличится размер базы если строка станет VARCHAR(10000)?

на мой взгляд в пределах статистической погрешности

Шавлюк ЕвгенийP.S. Вариант 3 реализовывать лениво :)

таблица head_comments ( fk_head_id primary key, comment varchar(1000 ))
и view с двумя триггерми ( если уж совсем лень )
select h.*, hc.comment from head h
inner join head_comments hc
on ( hc.fk_head_id = h.id )
не кажется чем то особо сложным на этапе разработки
...
Рейтинг: 0 / 0
Длинные строки
    #38849500
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамШавлюк Евгений> По сути нужно только при печати.

Операция редкая или просмотр тоже?
Просмотр остальной таблицы частый, но это поле не используется. В таблицу данные в основном вставляются около 1000 в день, изменения редкие.

Кузнецов ЕвгенийШавлюк Евгений,

на ibase.ru статья была, древняя, правда.
Статью читал, но аргументы мне кажутся неубедительными. Мне не нужен поиск, индексация и сортировка. И данные разрежены и находятся в диапазоне "длина поля > 255, но < ~10000 символов"

Кстати еще актуально? статьяДля многоязыковых баз данных BLOB не могут быть перекодированы из одной кодировки в другую

Проще всего использовать текстовый блоб, но мне не понятны накладные расходы возникающие при таком использовании
...
Рейтинг: 0 / 0
Длинные строки
    #38849508
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгениймне не понятны накладные расходы возникающие при таком использовании

Раз непонятны - забей на них. Маловероятно, что ты когда-нибудь дойдёшь до уровня, где они
станут заметны невооружённым глазом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Длинные строки
    #38849522
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк ЕвгенийПроще всего использовать текстовый блобСразу в юникоде, если возникает вопрос с кодировками как таковой.
...
Рейтинг: 0 / 0
Длинные строки
    #38849616
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений> Просмотр остальной таблицы частый, но это поле не используется.
Шавлюк Евгений> В таблицу данные в основном вставляются около 1000 в день, изменения редкие.

Если LAN, то особой разницы нет, разве что возни с
отдельной таблицей будет больше, что BLOB, что varchar.
Лично я бы делал varchar прямо в таблице (вариант 1).

> Кстати еще актуально?

Нет.

NikolayV81> и view с двумя триггерми ( если уж совсем лень )

Ну вот задлянафига тут ещё и вьюха-то?
Чтобы жизнь скучной не казалась?
Просто обычный запрос _с_клиента_
без никаких изменений на сервере.
Или если хочется позже переползти с
одного варианта (с первого, например)
на другой - ну можно ХП написать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Длинные строки
    #38849739
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
NikolayV81> и view с двумя триггерми ( если уж совсем лень )

Ну вот задлянафига тут ещё и вьюха-то?
Чтобы жизнь скучной не казалась?
Просто обычный запрос _с_клиента_
без никаких изменений на сервере.
Или если хочется позже переползти с
одного варианта (с первого, например)
на другой - ну можно ХП написать.


для вставки обновления, т.к. реализовывать на клиенте обновления в две таблицы, особенно если это не в одном месте, менее приятно ( в т.ч. если это ещё и какие-нибудь готовые компоненты )
...
Рейтинг: 0 / 0
Длинные строки
    #38849943
нота бени
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При работе с блобами нужно помнить только одно: выборка большого количества маленьких блобов будет существенно дольше на медленном канале (с большими задержками), чем выборка этого же количества строк такого же размера.
...
Рейтинг: 0 / 0
Длинные строки
    #38849947
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нота бени,

Что подразумевается под чтением? Разницы (если не читать содержимое блоба) для простого SELECT`a имхо не будет.
...
Рейтинг: 0 / 0
Длинные строки
    #38849954
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterРазницы (если не читать содержимое блоба) для простого SELECT`a имхо не
будет.
А что ещё можно читать у блоба кроме его содержимого?..

Но в любом случае аффтар же сказал, что выборки этих блобов нужны раз в месяц. Да и вряд
ли через спутник.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Длинные строки
    #38850009
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster> Что подразумевается под чтением?

Select вестимо.

> Разницы (если не читать содержимое блоба) для простого SELECT`a имхо не будет.

А зачем (и как) "читать" БЛОБ, не читая его содержимое.
Так что разница будет, хотя в ЛАНе это может быть не
очень заметно при малом количестве обращений.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Длинные строки
    #38850248
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterРазницы (если не читать содержимое блоба) для простого SELECT`a имхо не будет.
разница вполне может быть
http://www.ibase.ru/devinfo/tablefrag.htm
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Длинные строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]