|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
это поше или очередное его подрожалово? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 12:30 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
это поше или очередное его подрожалово? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 12:36 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Это конечно такой хитрый лайфхак, использование поля not null для имитации джойна при использовании лефт джойна, но в общем случае это не работает. Почему не работает??? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 13:23 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
включить сию заебатую возможность используя хинт. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 13:28 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
блядь, просто йобаная классика Именно для таких долбойобов я пишу статьи, но долбойобы, разумеется, хуй их читают Там моя подпись, так чот ищи сам но в двух словах классическая ошибка - это фильтрация по "правой" таблице при лефт джойне, которая превращает аутер в иннер. если изначально и нужен был иннер, то в нормальных серверах рояли особо не играет. Если оптимизатор говно - рояль может быть второй классический случай - использование дистинкта при неправильной работе с мастер-слейв вместо того чтобы юзать exists (который на самом деле нужен), некто юзает джойн со слейвом, получает мультипликацию хедера, пугается и пиздячит туда дистинкт На самом деле для разовых запросов - практически похуй как ты что там пишешь. Ну поебётся сервер минуту вместо того чтобы выполнить запрос за полсекунды - всем похуй, запрос разовый, лишь бы результат был правильный но если запрос выполняется постоянно и многократно - то тут конечно приходтся смотреть как что писать ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 13:57 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
блядь, просто йобаная классика Именно для таких долбойобов я пишу статьи, но долбойобы, разумеется, хуй их читают Там моя подпись, так чот ищи сам но в двух словах классическая ошибка - это фильтрация по "правой" таблице при лефт джойне, которая превращает аутер в иннер. если изначально и нужен был иннер, то в нормальных серверах рояли особо не играет. Если оптимизатор говно - рояль может быть второй классический случай - использование дистинкта при неправильной работе с мастер-слейв вместо того чтобы юзать exists (который на самом деле нужен), некто юзает джойн со слейвом, получает мультипликацию хедера, пугается и пиздячит туда дистинкт На самом деле для разовых запросов - практически похуй как ты что там пишешь. Ну поебётся сервер минуту вместо того чтобы выполнить запрос за полсекунды - всем похуй, запрос разовый, лишь бы результат был правильный но если запрос выполняется постоянно и многократно - то тут конечно приходтся смотреть как что писать ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 14:12 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Потому что в общем случае поле name в таблице аттачментов может быть null и ты потеряешь аттачмент. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 14:24 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Потому что в общем случае поле name в таблице аттачментов может быть null и ты потеряешь аттачмент. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 14:27 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Там имя файла с аттачментом. Если там null - аттачмента нет. А что делать, если аттачмент в систему приаттачивается посредством православного копипаста, который о опять таки в общем случае может не иметь никакого имени файла (в отличии от богомерзкого драгэндропа)? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 14:29 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Там имя файла с аттачментом. Если там null - аттачмента нет. А что делать, если аттачмент в систему приаттачивается посредством православного копипаста, который о опять таки в общем случае может не иметь никакого имени файла (в отличии от богомерзкого драгэндропа)? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 14:39 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Там имя файла с аттачментом. Если там null - аттачмента нет. А что делать, если аттачмент в систему приаттачивается посредством православного копипаста, который о опять таки в общем случае может не иметь никакого имени файла (в отличии от богомерзкого драгэндропа)? И вообще использовать такое вместо простого джойна - это странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 14:40 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Там имя файла с аттачментом. Если там null - аттачмента нет. А что делать, если аттачмент в систему приаттачивается посредством православного копипаста, который о опять таки в общем случае может не иметь никакого имени файла (в отличии от богомерзкого драгэндропа)? И вообще использовать такое вместо простого джойна - это странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 14:49 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Вполне рабочий вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 15:21 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
"Общие случаи" часто пагубно сказываться на производительности в данном конкретном случае ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2022, 16:28 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Интересно и как может пагубно сказаться на производительности замена left join на join? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 08:15 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
про distinct навскидку уже понял, что это плохо. поменьше слушай всяких пидоров ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:28 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#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 |
|
Господа базоёбы, скок сюды
#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 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Интересно и как может пагубно сказаться на производительности замена left join на join? в общему случае для скуля (а не мускуля) существуют варианты, когда такая замена влияет на производительность в случае с мелкими базами (мускул, постгре, мария, фиребёрд, етк) изменеие производительности может быть из-за оптимизатора, когда при преобразовании AST для разных кейсов используются разные "костыльные" ветки оптимизатора. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:41 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Там имя файла с аттачментом. Если там null - аттачмента нет. А что делать, если аттачмент в систему приаттачивается посредством православного копипаста, который о опять таки в общем случае может не иметь никакого имени файла (в отличии от богомерзкого драгэндропа)? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:41 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
постгре И всё равно я сомневаюсь, что замена left join на join может вызвать деградацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:46 |
|
Господа базоёбы, скок сюды
#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 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Я так и не понял до сих пор чем плох конкретно мой запрос. Тебе он не нужен, потому что ты ищешь вложения. Замени left join на join и убери условие name is not null. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:47 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
ага, уже сделал. постом выше ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2022, 14:49 |
|
|
start [/forum/topic.php?fid=8&msg=60166&tid=2074]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
133ms |
get tp. blocked users: |
3ms |
others: | 22ms |
total: | 229ms |
0 / 0 |