Есть ли разница во времени выполнения между столбцами SELECT * и SELECT? - PullRequest
0 голосов
/ 24 января 2019

У меня есть теоретическая таблица с миллионами строк:

Person table
ID             int
first_name     varchar(50)
last_name      varchar(50)
date_inserted  datetime
middle_name    varchar(50)
nick_name      varchar(50)
favorite_color varchar(50)
birth_date     datetime
last_edited    datetime

И мой запрос следующий:

SELECT * FROM PERSON WHERE last_edited > subdate(now(), 2)

, который возвращает десятки тысяч строк.

Есть ли существенная разница во времени выполнения между этим запросом и выполнением

SELECT 
    ID, 
    first_name, 
    last_name, 
    date_inserted, 
    middle_name, 
    nick_name, 
    favorite_color, 
    birth_date, 
    last_edited 
FROM Person
    WHERE last_edited > subdate(now(), 2);

1 Ответ

0 голосов
/ 24 января 2019

Нет.Разница во времени выполнения будет зависеть от объема возвращаемых данных.Это то же самое для двух запросов, потому что на одни и те же столбцы ссылаются.

Часто столбцы перечислены явно, поэтому включены только необходимые столбцы.Это может повысить производительность, а также сделать код более устойчивым к изменениям в структуре таблицы.

...