SQL -запрос на двух дополнительных полях работает лучше в SQL или коде? [закрыто]JAVA

Программисты JAVA общаются здесь
Anonymous
SQL -запрос на двух дополнительных полях работает лучше в SQL или коде? [закрыто]

Сообщение Anonymous »

Существует таблица, например, книга, и вам нужно получить список книг по двум фильтрам: название и автор. Индексы были созданы для обеих этих полей отдельно. Любой из этих параметров может быть передан, один или оба одновременно, но по крайней мере необходимо пройти (оба нулевых значения неприемлемы). Существует проверка службы, что присутствует как минимум 1 параметра.SELECT *
FROM book
WHERE (:title IS NULL OR title = :title)
AND (:author IS NULL OR author = :author);
< /code>
или просто в < /p>
the if (title !) service level.= null) {
calling the search query by title
}
else {
calling the search query by author
}
< /code>
Теоретически, в первом случае будет растровое сканирование и хуже? База данных постгрескл. Уже есть два отдельных индекса для каждого поля. На уровне базы данных не существует нулевых ограничений для каждой из этих областей. Перед запросом проверяется, что есть хотя бы одна из этих двух полей. Уже есть репозиторий, в котором записаны запросы с использованием Native SQL. С помощью этого запроса у нас были споры, как это было бы более правильно и эффективно.


Подробнее здесь: https://stackoverflow.com/questions/796 ... ql-or-code

Вернуться в «JAVA»