выберите * против выбора столбца в Redshift и MySql - PullRequest
0 голосов
/ 07 мая 2018

Если мне просто нужно 2/3 столбца и я запрашиваю SELECT * вместо предоставления этих столбцов в запросе выбора, есть ли какое-либо снижение производительности в отношении большего / меньшего количества операций ввода-вывода или памяти в Redshift и MySql?

В основном я хочу понять сравнение select * и select column в Redshift и MySql, в какой базе данных какой запрос выполняется быстрее и почему ??

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Для MySQL может быть небольшая или большая разница:

  • Large: Если * имеет TEXT или BLOB столбцов, которых нет в 2/3. Это связано с тем, что в некоторых случаях такие поля требуют дополнительного обращения к диску.
  • Маленький, в противном случае. (Больше для разбора, больше для выделения памяти и т. Д.)
0 голосов
/ 07 мая 2018

Поскольку RedShift является базой данных столбцов,

Выберите Столбец1, Столбец2 из таблицы_, где some_criteria

Отдельные запросы на выборку столбцов будут сверхбыстрые, поскольку Redshift нужно только сканировать / читать только конкретный столбец.

При выборе * будет намного медленнее, поскольку Redshift нужно сканировать и читать все столбцы.

Вв случае MySql также выберите col1, col2 из table_a будет в порядке (с меньшим объемом памяти / ввода-вывода), но не так хорошо, как Redshift.

Я бы порекомендовал вам прочитать действительно хорошую документацию о столбчатой ​​базе данных.как Redshift, его концепция ключей распространения и концепция кодирования, а также значительно влияет на производительность.

https://www.youtube.com/watch?v=iuQgZDs-W7A

...