Это зависит от ваших индексов.
Выбор меньшего числа столбцов может иногда сэкономить много времени, если вы выбираете только те столбцы, которые существуют в индексе, который MySQL использовал для извлечения результатов.
Например, если у вас есть индекс для столбца id
, и вы выполняете этот запрос:
SELECT id FROM mytable WHERE id>5
Тогда MySQL нужно только читать индекс, и даже не нужно читать строку таблицы,Если, с другой стороны, вы выбираете дополнительные столбцы, например:
SELECT id, name FROM mytable WHERE id>5
Тогда MySQL потребуется прочитать идентификатор из индекса, а затем перейти к строке таблицы, чтобы прочитать столбец имени.
Если, однако, вы читаете столбцы, которые в любом случае не входят в индекс, который вы выбираете, то чтение большего количества столбцов действительно не будет иметь такого большого значения, хотя оно будет иметь небольшое значение.Если некоторые столбцы содержат большой объем данных, например большие столбцы TEXT или BLOB, было бы разумно исключить их, если они вам не нужны.