Если мне нужны только 2/3 столбца, и я запрашиваю SELECT *
вместо предоставления этих столбцов в выбранном запросе, есть ли ухудшение производительности в отношении более/менее ввода-вывода или памяти?
Сетевые служебные данные могут присутствовать, если я выберу * без необходимости.
Но в какой-то операции выбора механизм базы данных всегда вытаскивает атомарный кортеж с диска или вытягивает только те столбцы, которые запрашиваются в операции выбора?
Если он всегда тянет кортеж, тогда накладные расходы ввода-вывода совпадают.
В то же время может потребоваться потребление памяти для отсечения запрошенных столбцов из кортежа, если он вытащит кортеж.
Так что, если это произойдет, выберите someColumn, у вас будет больше накладных расходов памяти, чем у select *