Quantcast
Channel: SQL.ru: Firebird, InterBase
Viewing all articles
Browse latest Browse all 1677

Пара мелких вопросов

$
0
0
1) Есть неиндексное поле, куда надо почти всегда записывать текст до 10 символов, но иногда очень редко до 1000 символов. Имеет ли смысл использовать текстовый BLOB вместо VARCHAR(1000)?
2) Часто выполняются запросы с фильтром, где на самом деле фильтр используется редко (параметр UserLogin пустой)
SELECT Users.* FROM Users WHERE
Users.UserLogin LIKE :UserLogin

ParamByName('UserLogin').AsString := '%' + UserLogin + '%';

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

if UserLogin<>'' then
  ParamByName('UserLogin').AsString := '%' + UserLogin + '%';

Или может лучше вообще удалять строку WHERE при пустом параметре?

Viewing all articles
Browse latest Browse all 1677

Trending Articles