Если у меня есть два запроса
SELECT Id, Forename, Surname
FROM Person
WHERE PersonName Like(‘%frank%’)
И
SELECT *
FROM Person
WHERE PersonName Like(‘%frank%’)
Какой запрос будет выполняться быстрее? Является ли условие / таблица присоединения наибольшим фактором или число возвращаемых столбцов?
Я спрашиваю, потому что я строю серию объектов, которые отображаются в таблицы базы данных. Обычно каждый объект будет иметь по крайней мере эти три метода:
Select
- выбирает все
List
- Выбирает достаточно для заполнения выпадающего списка
Search
- Выбирает все, что отображается в результатах, обычно около 6 или около того столбцов.
Если каждый запрос возвращает один и тот же набор столбцов, обслуживание и тестирование кода должны быть более тривиальными. База данных вряд ли получит более 50000 строк в любой данной таблице, поэтому, если разница в производительности невелика, я возьму на себя экономию времени на разработку. Если производительность будет падать сквозь пол, я буду работать под другим углом.
Итак, для простоты разработки, SELECT *
разумно или наивно?