Есть ли разница при SELECT * или SELECT `some_column` в PHP

284
31 августа 2017, 21:16

Интересует насколько это влияет на производительность запроса в PHP

все запросы я делаю просто SELECT * ... LIMIT 0,20 и он постоянно подтягивает значения всех столбцов (их примерно до 15), но использую из них я максимум 6-7.

У меня все время стоит лимит, а в базе строк больше > 10000 вот интересно это сильно влияет на скорость? а что если дальше продолжать еще делать JOIN'ы ?

Answer 1

В большинстве случаев морочиться на эту тему не нужно. Вопрос про * в запросах - это такая trivia, которую нубы с придыханием рассказывают друг другу и которую можно прочитать в идиотских списках "25 способов ускорить свой скрипт в 100500 раз".

Если удобно писать * и в базе нет блобов с гигазами варезов, а есть 15 несчастных варчаров, то никто не умрет от звездочки.

Плюсы использования звездочки:

  • при добавлении полей в таблицу не надо менять код запроса
  • запрос становится читабельнее и короче

Минусы использования звездочки:

  • большой потенциальный объем данных, передаваемых в пхп, может сказаться на производительности
  • если в запросе используется временная таблица, то наличие ненужных полей может катастрофически отразиться на времени запроса, поскольку во временную таблицу будут записываться все поля таблицы. Разумеется, лучше избегать запросов, которым требуется создание временной таблицы.
Answer 2

использование * = "bad practice".
минусы использование * :
1)если вы будете дальнейшей писать JOIN-i тогда у вас будет проблемы
2)если вы будете дальнейшей добавляет столбцы тогда они будет автоматический подключиться "без нужды"
3)лишние данные это зло
4)использование не дает вам прав наименование столбцов
5)может быть меньше но влияет на загрузку

READ ALSO
Зависимый список категорий WordPress

Зависимый список категорий WordPress

Подскажите, пожалуйста, новичкуКак можно связать два выпадающих списка категорий WordPress?

308
Не отображаются картинки в медиa Wordpress

Не отображаются картинки в медиa Wordpress

Перенес сайт вместе с базой, и тут обнаружил, что в библиотеке не отображаются картинки, путь только такой /wp-includes/images/media/defaultpng, при клике на саму...

278