Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Пара мелких вопросов / 4 сообщений из 4, страница 1 из 1
26.05.2019, 10:40
    #39818325
Molochnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пара мелких вопросов
1) Есть неиндексное поле, куда надо почти всегда записывать текст до 10 символов, но иногда очень редко до 1000 символов. Имеет ли смысл использовать текстовый BLOB вместо VARCHAR(1000)?
2) Часто выполняются запросы с фильтром, где на самом деле фильтр используется редко (параметр UserLogin пустой)
Код: sql
1.
2.
SELECT Users.* FROM Users WHERE
Users.UserLogin LIKE :UserLogin


Код: pascal
1.
ParamByName('UserLogin').AsString := '%' + UserLogin + '%';


Имеет ли смысл его оптимизировать так?
Код: sql
1.
2.
SELECT Users.* FROM Users WHERE
(:UserLogin IS NULL) OR (Users.UserLogin LIKE :UserLogin)


Код: pascal
1.
2.
if UserLogin<>'' then
  ParamByName('UserLogin').AsString := '%' + UserLogin + '%';


Или может лучше вообще удалять строку WHERE при пустом параметре?
...
Рейтинг: 0 / 0
26.05.2019, 10:49
    #39818327
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пара мелких вопросов
Molochnik,

я бы не заморачивался ни с одним ни с другим
...
Рейтинг: 0 / 0
26.05.2019, 12:33
    #39818342
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пара мелких вопросов
1) Нет.
2) Нет. Да. Эта "оптимизация" может вылезти боком.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.05.2019, 00:01
    #39818534
Molochnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пара мелких вопросов
m7m,
Dimitry Sibiryakov,
Все ясно, спасибо!
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Пара мелких вопросов / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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