Задать вопрос

Насколько сильная разница между запросами * и `id` в MySQL?

Ребят, в общем столкнулся с вопросом по оптимизации запросов к базе, так как часто выскакивает ошибка 504. Думал дос, но в поддержке написали, что 4 ядра VPS заняты MySQL.
Общался с ними, и сказали что большинство запросов - такого содержания.
1582 localhost Query Sending data SELECT ... FROM `users` WHERE `parent` = '507'
1585 localhost Query Sending data SELECT ... FROM `users` WHERE `parent` = '507'

Такие запросы могли делать только две функции, одну я смог оптимизировать при помощи постепенной подгрузкой AJAX пользовательскими действиями. Но поддержка пишет что проблема та же.
Первый вопрос таков и ситуация:
Сильно ли отличаются запросы, в плане нагрузки БД если в базе примерно 20 столбцов?
$parent_link = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT * FROM `users` WHERE `id` = $parent_cook"));

и
$parent_link = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `id`, `parent` FROM `users` WHERE `id` = $parent_cook"));

Дело в том, что этот запрос выполняется относительно часто, когда выполняется построение структуры.
Если это не снизит нагрузку, то где покопаться на эту тему? Даже если снизит - все равно неплохо было бы, если бы направили в правильное русло.
Заранее спасибо, ребят.
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
65536
@65536
сильно будут отличаться если выбираются текстовые поля с длинными текстами
Ответ написан
Immortal_pony
@Immortal_pony Куратор тега MySQL
Индексы?
ALTER TABLE `users` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (`id`); 
ALTER TABLE `users` CHANGE `parent` `parent` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX `i_parent` (`parent`);
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Так может вам с Adjacency List перейти на Nested Set? Тогда многие выборки можно будет делать одним запросом, без рекурсии.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Сильно ли отличаются запросы, в плане нагрузки БД если в базе примерно 20 столбцов?

скорее, в таблице 20 столбцов, это раз, во вторых если база грузит проц значит идет выборка без индексов, либо с большим объемом данных. Не вижу здесь замера выполнения селекта, не вижу индексов, не вижу explain от мускуля. На такой задаче это все гадание по кофе и чаю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы