freepascal.ru • Просмотр темы - Оптимальное хранение данных в БД
 

Оптимальное хранение данных в БД

Вопросы использования сторонних (не входящих в состав FPC и Lazarus) утилит и библиотек.

Модератор: Модераторы

Re: Оптимальное хранение данных в БД

Сообщение sign » 05.03.2018 06:51:22

Справка.

Код: Выделить всё
Main.SQLQuery1.SQL.Text := 'SELECT * FROM PACIENTS WHERE LASTNAME LIKE ''Rob%'';
sign
энтузиаст
 
Сообщения: 929
Зарегистрирован: 30.08.2009 09:20:53

Re: Оптимальное хранение данных в БД

Сообщение *Rik* » 05.03.2018 08:08:38

wwswowsogon писал(а):
Код: Выделить всё
Main.SQLQuery1.SQL.Text := 'SELECT * FROM PACIENTS WHERE LASTNAME LIKE ''Rob'';
- а это - нет.
Да, Firebird 2.5.

Для строк которые начинаются с Rob
Код: Выделить всё
Main.SQLQuery1.SQL.Text := 'SELECT * FROM PACIENTS WHERE LASTNAME LIKE ''Rob%'';

или вхождение Rob в любом месте строк
Код: Выделить всё
Main.SQLQuery1.SQL.Text := 'SELECT * FROM PACIENTS WHERE LASTNAME LIKE ''%Rob%'';
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 370
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

Re: Оптимальное хранение данных в БД

Сообщение alexs » 05.03.2018 09:42:41

%Rob%
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3659
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Оптимальное хранение данных в БД

Сообщение Little_Roo » 05.03.2018 10:52:57

wwswowsogon писал(а): LIKE ''Rob''


LIKE 'Rob%'
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 611
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Оптимальное хранение данных в БД

Сообщение wwswowsogon » 05.03.2018 11:17:02

Спасибо всем за ответы, справку я читал, да... :)
И пробовал не разу уже и LIKE 'Rob%' и LIKE '%ob%', и LIKE '%r%', результат один, т.е. нулевой. :)
Попробую ещё вечером на другой, тестовой базе, мб опять словил глюк в проекте.
Кстати, а правильно я понял ,что для Firebird использование '%' обязательно? В MS SQL вроде бы можно писать просто LIKE LIKE 'Rob'. Так?
wwswowsogon
новенький
 
Сообщения: 54
Зарегистрирован: 23.12.2008 20:41:37

Re: Оптимальное хранение данных в БД

Сообщение wofs » 05.03.2018 12:08:11

wwswowsogon писал(а):И пробовал не разу уже и LIKE 'Rob%' и LIKE '%ob%', и LIKE '%r%', результат один, т.е. нулевой. :)

а регистр соблюден?
И у вас закрывающей кавычки в примере не хватает.
Аватара пользователя
wofs
постоялец
 
Сообщения: 372
Зарегистрирован: 05.10.2009 10:16:55
Откуда: Астрахань

Re: Оптимальное хранение данных в БД

Сообщение wwswowsogon » 05.03.2018 19:24:20

С регистром всё в порядке :)) Таки работает именно LIKE '%%'. Спасибо!
Похоже, не из того поля выборку делал, а если из того, тоо без %% .
Внимательность важна весьма. ;)
wwswowsogon
новенький
 
Сообщения: 54
Зарегистрирован: 23.12.2008 20:41:37

Re: Оптимальное хранение данных в БД

Сообщение zoltanleo » 22.03.2018 22:47:31

wwswowsogon писал(а):Запрос возвращает данные только, если написано LIKE 'Robert', по принципу вхождения подстроки результат пустой почему-то, соответственно, весь смысл использования LIKE теряется.

потому что в доке по FB 2.5.x написано
Предикат LIKE сравнивает выражение символьного типа с шаблоном,
определѐнным во втором выражении. Сравнение с шаблоном является
чувствительным к регистру (за исключением случаев когда само поле
определено с сортировкой (COLLATION) нечувствительной к регистру). В
шаблоне, разрешается использование двух трафаретных символов:
 символ процента (%) заменяет последовательность любых символов
(число символов в последовательности может быть от 0 и более) в про-
веряемом значении;
 символ подчеркивания (_), который можно применять вместо любого
единичного символа в проверяемом значении.

Используй CONTAINING
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 162
Зарегистрирован: 17.10.2013 10:55:01

Re: Оптимальное хранение данных в БД

Сообщение olegy123 » 23.03.2018 13:46:27

alexs писал(а):Всё зависит от задачи. От объёмов данных.
Снег Север писал(а): Хочу только отметить, что хранить документы в файлах/каталогах просто неудобно, лучше хранить в BLOB полях таблиц.

У меня строго наоборот. Отказался от хранения документов в БД, теперь там только ссылка на файл.

Знал ребят которые идейно-рассово были против хранения данных в БД. Им пришлось дополнительный слой городить для управления этим лесом из файл и ссылок. А когда встал вопрос о выводе данных за пределами своей организации - вот тогда они обязалии пару человек следить, давать права и ремонтировать за директорией.

Писал проект под PostgreSQL там вообще красота - можно определенные таблицы назначать в отдельные папки/диски..
olegy123
энтузиаст
 
Сообщения: 949
Зарегистрирован: 25.02.2016 12:10:20

Re: Оптимальное хранение данных в БД

Сообщение zoltanleo » 23.03.2018 14:59:50

Имхо, текстовые документы хорошо сжимаются при бекапе базы, в отличие от картинок. Поэтому я хранил бы картинки на диске, а документы в базе
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 162
Зарегистрирован: 17.10.2013 10:55:01

Re: Оптимальное хранение данных в БД

Сообщение ElectroGuard » 27.03.2018 00:40:41

Код: Выделить всё
Обратите внимание, если выключат свет, то многие БД с защищёнными транзакциями скорее сохранят изменения на диск

Это заблуждение. При пропадании электричества многие ваши данные вместе с защищенными транзакциями могут кануть в лету.
ElectroGuard
новенький
 
Сообщения: 71
Зарегистрирован: 03.06.2016 12:10:22

Re: Оптимальное хранение данных в БД

Сообщение azsx » 30.03.2018 12:43:50

Без электричества что-то куда-то запишут?

да, запишут, если есть хард раид контролер с батарейкой. Ну и БД на дисковой полке.
Вы правы ситуация редкая, когда мега админы случайно оба провода с серверов вынимают вручную, при обслуживании.
но это всё оффтопик, тс же уже нашёл решение.
azsx
энтузиаст
 
Сообщения: 951
Зарегистрирован: 16.11.2015 06:38:32

Re: Оптимальное хранение данных в БД

Сообщение Mirage » 30.03.2018 23:12:11

Так БД с защищенными транзакциями тут ни причем. Такие контроллеры любую инфу сбросят на диск из кэша. А целостность в БД обеспечивается иначе.
Mirage
энтузиаст
 
Сообщения: 813
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Пред.

Вернуться в Сторонние средства

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru