|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
про distinct навскидку уже понял, что это плохо. поменьше слушай всяких пидоров ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:28 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
В общем, вот структуры таблиц, из которых я беру данные Можно просто вывести из таблички v1_attachment все вложения пользователя но я хочу наглядно видеть - id поста - id пользователя - имя пользователя - id форума - id темы - системное имя вложения Все эти данные присутствуют и пересекаются в таблицах но естсетвенно не во всех есть все ) Я так и не понял до сих пор чем плох конкретно мой запрос. Код 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:36 |
|
MySQL / Господа базоёбы, скок сюды
#60151
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
Я почти ничего в SQL не понимаю, не, конечно, select * на табличку сделать могу, но что-то большее - увы, когда-то что-то тыркал, но очень давно, мне это в работе не требуется. Задача такая, нужно выводить список вложений дедофорума на удаление для конкретного пользака, при этом я хочу видеть наглядно данные и из соседних табличек - ну там имя, форум, пост. Я открыл доку, почитал, https://dev.mysql.com/doc/refman/8.0/en/ Вроде бы получился такой запрос Код: SQL 1. 2. 3. 4. 5. 6. 7. 8.
Почему спрашиваю, вначале у меня какие-то дубли получались, однако если ебануть distinct, дубли удалялись. Но я так понимаю, если в запросе прибегнул к дистинкту - это плохо? Или нет? В общем, я внимательно ещё раз посмотрел что к чему присобачивается, вроде бы всё норм. и количетсво строк - то, что и из таблички с вложениями. На первой картинке просто количество вложений из таблички вложений, на второй табличка - которая меня интересует ... |
||||||||||||||||
:
Нравится:
Не нравится:
|
||||||||||||||||
09.06.2022, 14:40 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Там имя файла с аттачментом. Если там null - аттачмента нет. А что делать, если аттачмент в систему приаттачивается посредством православного копипаста, который о опять таки в общем случае может не иметь никакого имени файла (в отличии от богомерзкого драгэндропа)? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:41 |
|
MySQL / Господа базоёбы, скок сюды
#60157
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
left join не нужен. Просто JOIN. И тогда не нужно будет и условие and v1_attachment.name is not null;. Такие записи сами отсекутся при выполнении on v1_post.id = v1_attachment.post_id ... |
||||||||||||||||
:
Нравится:
Не нравится:
|
||||||||||||||||
09.06.2022, 14:46 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
ага, уже сделал. постом выше ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:49 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
ок, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:53 |
|
MySQL / Господа базоёбы, скок сюды
#60194
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
Ссылка на вложение 2:
|
|||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
basename, планы давай на второй с простым join ... |
|||||||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||||||
09.06.2022, 15:13 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Хм, а почему с join Query Cost больше, чем с Left Join? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 15:16 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Господа, проясните плиз за Query cost. Ведь значение больше, это хуже? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 15:30 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
постгре И всё равно я сомневаюсь, что замена left join на join может вызвать деградацию. from Table1 a left join table2 b on a=b vs select a.* from Table1 a inner join table2 b on a=b могут давать разный перформанс при разный случаях ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 15:37 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Планы разные. По сути вопроса: вероятно, количество вложений подопытного несколько менее числа топиков, в которые он насрал. То ли дело файрволл одминить, либо ещё чего-нибудь конфигурастить в ОС и ПО. там арифметика чёткая без возможности выбора вариантов достижения ))) Хотя правда в сложной маршрутизации тоже есть стоимость маршрута ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 15:40 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Господа, проясните плиз за Query cost. Ведь значение больше, это хуже? Это реальный план выполнения или предполагаемый? https://dev.mysql.com/doc/workbench/en/wb-performance-explain.html Нажал выполнить запрос, потом Execution plan Видимо, реальный ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 15:43 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
basename, планы давай на второй с простым join если ты так дальше будешь углубляться, то не в запросе твоем дело, а в структуре фашисткой базы и всем этом ебучем php-ковнокоде ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 15:44 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
... на второй с простым join если ты так дальше будешь углубляться, то не в запросе твоем дело, а в структуре фашисткой базы и всем этом ебучем php-ковнокоде это тебе элита говорит. внемли ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 15:51 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Вот ты спросил ))) https://dev.mysql.com/doc/workbench/en/wb-performance-explain.html Нажал выполнить запрос, потом Execution plan Видимо, реальный По времени выполнения тоже смотреть желательно, а не только на стоимость. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 15:52 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 15:54 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 15:56 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Правильно ли я понимаю, грубо говоря, в случае left join ему надо просто к большому куску надо присобачить ещё кусочек, а в случае join, отсечь ненужное из двух кусков и уже их склеить? тогда вроде бы логично, что join дороже и дольше должен выполняться? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 16:12 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Правильно ли я понимаю, грубо говоря, в случае left join ему надо просто к большому куску надо присобачить ещё кусочек, а в случае join, отсечь ненужное из двух кусков и уже их склеить? тогда вроде бы логично, что join дороже и дольше должен выполняться? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 16:26 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Хуяссе планы... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 16:29 |
|
MySQL / Господа базоёбы, скок сюды
#60321
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
Ссылка на вложение 2:
|
|||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
В тектовом виде такое. Оно? или что должно быть? ... |
|||||||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||||||
09.06.2022, 16:34 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Горбатый ёж [игнорируется] Вот ещё вывод 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' Цитата [игнорируется] '-> 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' ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 16:54 |
|
MySQL / Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Горбатый ёж [игнорируется] Вот ещё вывод 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' Цитата [игнорируется] '-> 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' Короче, я хз ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 17:13 |
|
|
Start [/forum/search.php?do_search=1&tid=2074&author_mode=wrote_post&author=basename&start_from=60226]: |
0ms |
get settings: |
1ms |
get forum list: |
6ms |
searching: |
18ms |
get settings: |
4ms |
get forum list: |
5ms |
get topic data: |
2ms |
check forum access: |
0ms |
check topic access: |
0ms |
get forum data: |
0ms |
get found posts: |
56ms |
track hit: |
28ms |
get online users: |
52ms |
check new: |
1ms |
others: | 323ms |
total: | 496ms |
0 / 0 |