powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / MySQL [закрыт для гостей] / Господа базоёбы, скок сюды, Поиск: Искать сообщения, созданные автором: PaNik  
11 сообщений из 36, страница 2 из 2
MySQL / Господа базоёбы, скок сюды
    #60242
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
basename  09.06.2022, 15:40
[игнорируется]
Блин, сложный ваш SQL.
Придрочиться можно.
basename  09.06.2022, 15:40
[игнорируется]
даже текущую задачу можно решить фиг знает сколькми способами.
Это норма.
...
Рейтинг: 0 / 0
MySQL / Господа базоёбы, скок сюды
    #60247
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
basename  09.06.2022, 15:43
[игнорируется]
PaNik  09.06.2022, 15:39
[игнорируется]
basename  09.06.2022, 15:30
[игнорируется]
basename  09.06.2022, 15:16
[игнорируется]
basename  09.06.2022, 15:13
[игнорируется]
...
Хм, а почему с join Query Cost больше, чем с Left Join?
Господа, проясните плиз за Query cost. Ведь значение больше, это хуже?
По планам порядок соединения таблиц разный.
Это реальный план выполнения или предполагаемый?
Вот ты спросил )))

https://dev.mysql.com/doc/workbench/en/wb-performance-explain.html

Нажал выполнить запрос, потом Execution plan

Видимо, реальный
Ну в ms sql management studio 2 кнопки - предполагаемый план и реальный план.
По времени выполнения тоже смотреть желательно, а не только на стоимость.
...
Рейтинг: 0 / 0
MySQL / Господа базоёбы, скок сюды
    #60259
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
По сути Базя в 1-м посте получил готовый правильный результат, который имеем за разумное время. Запускать этот запрос с разными юзер_ид особо часто, как полагаю, не планируется.
Дальше холивар и возможные оптимизации [:smile]
...
Рейтинг: 0 / 0
MySQL / Господа базоёбы, скок сюды
    #60272
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
basename  09.06.2022, 15:56
[игнорируется]
W [игнорируется] 

Я вот всё-таки не пойму, ты Пашэ или не Пашэ? ))
У меня в игноре только Пошэгеи, пидарасы и саентологи.
Screenshot_2022-06-09-15-57-40-323_com.opera.browser.jpg
...
Рейтинг: 0 / 0
MySQL / Господа базоёбы, скок сюды
    #60273
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
basename  09.06.2022, 15:54
[игнорируется]
PaNik [игнорируется] 

Есть в консоли выполнения общее время, 0.016 sec

Одинаковое для обеих запросов
Размер таблиц небольшой
...
Рейтинг: 0 / 0
MySQL / Господа базоёбы, скок сюды
    #60413
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
basename  09.06.2022, 16:12
[игнорируется]
PaNik  09.06.2022, 15:59
[игнорируется]
basename  09.06.2022, 15:54
[игнорируется]
PaNik [игнорируется] 

Есть в консоли выполнения общее время, 0.016 sec

Одинаковое для обеих запросов
Размер таблиц небольшой
Правильно ли я понимаю, грубо говоря, в случае left join ему надо просто к большому куску надо присобачить ещё кусочек, а в случае join, отсечь ненужное из двух кусков и уже их склеить? тогда вроде бы логично, что join дороже и дольше должен выполняться?
Логика у inner join и left join разная
...
Рейтинг: 0 / 0
MySQL / Господа базоёбы, скок сюды
    #60414
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
cat2  09.06.2022, 16:24
[игнорируется]
Соединение будет происходить одинаково в обоих случаях
На физическом уровне вообще не факт
...
Рейтинг: 0 / 0
MySQL / Господа базоёбы, скок сюды
    #60415
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
basename  09.06.2022, 16:26
[игнорируется]
Tammy Jo Saint Cloud [игнорируется] 

+ ещё зависит от реализации в СУБД? MS SQL, MySQL, PostgreSQL, ORACLE?
Определённо, хотя не обязательно
...
Рейтинг: 0 / 0
MySQL / Господа базоёбы, скок сюды
    #60416
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
Горбатый ёж  09.06.2022, 16:34
[игнорируется]
Tammy Jo Saint Cloud [игнорируется] 

Это что за древняя СУБД?
Или это любители хинтовать запросы?
Пошэгей, как известный пидарас, наверняка пишет хинты
...
Рейтинг: 0 / 0
MySQL / Господа базоёбы, скок сюды
    #60418
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
basename  09.06.2022, 17:13
[игнорируется]
basename  09.06.2022, 16:54
[игнорируется]
basename  09.06.2022, 16:44
[игнорируется]
Горбатый ёж [игнорируется] 

Вот ещё вывод explain analyze

Как только в читабельном виде отобразить...

join
Цитата 
[игнорируется]
'-> Nested loop inner join (cost=473.95 rows=424) (actual time=0.235..3.066 rows=197 loops=1)\n -> Nested loop inner join (cost=325.38 rows=369) (actual time=0.154..1.790 rows=369 loops=1)\n -> Index lookup on v1_post using v1_post_user_id_idx (user_id=173) (cost=196.23 rows=369) (actual time=0.144..1.183 rows=369 loops=1)\n -> Single-row index lookup on v1_topic using PRIMARY (id=v1_post.topic_id) (cost=0.25 rows=1) (actual time=0.001..0.001 rows=1 loops=369)\n -> Index lookup on v1_attachment using v1_attachment_unq (post_id=v1_post.id) (cost=0.29 rows=1) (actual time=0.003..0.003 rows=1 loops=369)\n'
left join
Цитата 
[игнорируется]
'-> Nested loop left join (cost=419.06 rows=212) (actual time=0.137..2.520 rows=197 loops=1)\n -> Nested loop inner join (cost=344.79 rows=212) (actual time=0.130..1.888 rows=197 loops=1)\n -> Index lookup on v1_post using v1_post_user_id_idx (user_id=173) (cost=196.21 rows=369) (actual time=0.093..0.869 rows=369 loops=1)\n -> Filter: (v1_attachment.`name` is not null) (cost=0.29 rows=1) (actual time=0.002..0.003 rows=1 loops=369)\n -> Index lookup on v1_attachment using v1_attachment_unq (post_id=v1_post.id) (cost=0.29 rows=1) (actual time=0.002..0.002 rows=1 loops=369)\n -> Single-row index lookup on v1_topic using PRIMARY (id=v1_post.topic_id) (cost=0.25 rows=1) (actual time=0.003..0.003 rows=1 loops=197)\n'
Господа, но вот видно тут, что left join выполняется быстрее почти в два раза!!!!!
Я вот интуитивно чувствую, возможно в этом дело, получается основная таблица post, но в ней нет данных по аттачменту. У поста аттачменты могут быть, а могут и не быть. Когда оно клеит две таблицы, оно доавляет поле и где аттачмента нет, хуячит туда нуль. А в случае join ему нужно отсчеь вообще всё ненужное. Может быть дело в этом.

Короче, я хз
Ещё учитывай, что таблица с постами самая объемная
...
Рейтинг: 0 / 0
MySQL / Господа базоёбы, скок сюды
    #60420
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
basename  09.06.2022, 17:58
[игнорируется]
Просто Трёп  09.06.2022, 17:54
[игнорируется]
Мне другое интересно. У деды что, каждый пост три раза хранится? Просто, хтмл и серчабле?
ну исходя из записей - да
pasted_image.png
Не факт
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / MySQL [закрыт для гостей] / Господа базоёбы, скок сюды, Поиск: Искать сообщения, созданные автором: PaNik  
Читали тему (2): Анонимы (1), Yandex Bot 3 мин.
Игнорируют тему (1): erbol
Читали форум (2): Анонимы (1), Yandex Bot 3 мин.
Пользователи онлайн (29): Анонимы (14), Yandex Bot, s62, Ибрагимов Мага 82, Умник-практикующий 1 мин., IT-Клоп 2 мин., Три нитки 2 мин., Просто Трёп 2 мин., Bing Bot 2 мин., паразит 3 мин., Ветер 4 мин., anonymous 5 мин., Гарыныч 6 мин., Sparrow 6 мин., битый 7 мин., Biene Maja 7 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]