如果我有两个查询
SELECT Id, Forename, Surname FROM Person WHERE PersonName Like(鈥�%frank%鈥�)
和
SELECT * FROM Person WHERE PersonName Like(鈥�%frank%鈥�)
哪个查询将运行得更快?是where子句/表联接的最大因素,还是返回的列数最大?
我之所以问是因为我正在构建一系列映射到数据库表的对象。通常,每个对象将至少具有以下三种方法:
Select 全选
Select
List 选择足够的数量以用于填充下拉列表
List
Search -选择结果中可见的所有内容,通常约6列左右。
Search
如果每个查询返回的列完全相同,则代码的维护和测试应该更加简单。数据库在任何给定的表中都不可能超过50,000行,因此,如果性能差异很小,那么我将节省开发时间。如果性能要降到最低,那么我将从另一个角度入手。
那么,为了易于开发,是SELECT *明智的还是天真的?
SELECT *
你最好避免 SELECT *
SELECT columns