|
Господа базоёбы, скок сюды
#58488
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
Ссылка на вложение 2:
|
|||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
Я почти ничего в SQL не понимаю, не, конечно, select * на табличку сделать могу, но что-то большее - увы, когда-то что-то тыркал, но очень давно, мне это в работе не требуется. Задача такая, нужно выводить список вложений дедофорума на удаление для конкретного пользака, при этом я хочу видеть наглядно данные и из соседних табличек - ну там имя, форум, пост. Я открыл доку, почитал, https://dev.mysql.com/doc/refman/8.0/en/ Вроде бы получился такой запрос Код: SQL 1. 2. 3. 4. 5. 6. 7. 8.
Почему спрашиваю, вначале у меня какие-то дубли получались, однако если ебануть distinct, дубли удалялись. Но я так понимаю, если в запросе прибегнул к дистинкту - это плохо? Или нет? В общем, я внимательно ещё раз посмотрел что к чему присобачивается, вроде бы всё норм. и количетсво строк - то, что и из таблички с вложениями. На первой картинке просто количество вложений из таблички вложений, на второй табличка - которая меня интересует ... |
|||||||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||||||
07.06.2022, 19:34 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Хз как там в MySQL, но псевдонимы таблицам я бы назначил ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:39 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
left join не нужен. Просто JOIN. И тогда не нужно будет и условие and v1_attachment.name is not null;. Такие записи сами отсекутся при выполнении on v1_post.id = v1_attachment.post_id ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:41 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
left join не нужен. Просто JOIN. И тогда не нужно будет и условие and v1_attachment.name is not null;. Такие записи сами отсекутся при выполнении on v1_post.id = v1_attachment.post_id ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:43 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
про distinct навскидку уже понял, что это плохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:44 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Черт. Это же MySQl Не знаю, как там LEFT JOIN по умолчанию LEFT OUTER JOIN или LEFT INNER JOIN ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:45 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Наверное оутер. Непонятно откуда у него дубли были ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:46 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Тож так сначала подумал, что надо from v1_attachment сделать. Но потом подумал, что на v1_post.user_id наверняка индекс есть. ... |
|||
:
Изменено: 07.06.2022, 19:48 - PaNik
Нравится:
Не нравится:
|
|||
07.06.2022, 19:47 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
к таблице post, самой объёмной, присоединяю остальные. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:49 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Черт. Это же MySQl Не знаю, как там LEFT JOIN по умолчанию LEFT OUTER JOIN или LEFT INNER JOIN ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:49 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Тож так сначала подумал, что надо from v1_attachment сделать. Но потом подумал, что на v1_post.user_id наверняка индекс есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:50 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Наверное оутер. Непонятно откуда у него дубли были ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:51 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Тож так сначала подумал, что надо from v1_attachment сделать. Но потом подумал, что на v1_post.user_id наверняка индекс есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:53 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Понятно. Фик знает как там мусикл действует, но по сути ты сначала получаешь полную выборку и в том числе с сообщениями без аттачментов, а сверху накладываешь условие нот налл. Попробуй в условии склейки таблиц добавить этот нот налл. В фб такое прокатывали. Может побыстрее ьудет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:55 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
basename, планы давай ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 19:59 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Вообще в ms sql хорошо (в теории) было бы примерно так: 1) при наличии индекса по v1_post.user_id выбираем во времянку id и темы всех сообщения юзверя (их пока немного, это ж не Инос или Гарыныч с дедофорума с Овер 100к постов). 2) эту времянку inner join'ним на v1_attachment и v1_topic, выводим нужные поля. ... |
|||
:
Изменено: 07.06.2022, 20:06 - PaNik
Нравится:
Не нравится:
|
|||
07.06.2022, 20:05 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Понятно. Фик знает как там мусикл действует, но по сути ты сначала получаешь полную выборку и в том числе с сообщениями без аттачментов, а сверху накладываешь условие нот налл. Попробуй в условии склейки таблиц добавить этот нот налл. В фб такое прокатывали. Может побыстрее ьудет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 20:14 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
basename, планы давай ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 20:15 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Тож так сначала подумал, что надо from v1_attachment сделать. Но потом подумал, что на v1_post.user_id наверняка индекс есть. Таблички с вложениями, топиками и форумами - небольшие. Табличка пост - самая объемная. Вот с ней вроде более менее список выводится, как ожидалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 20:19 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
А что мне в данном случае даст right? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 20:20 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Иннер джоин ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 20:22 |
|
Господа базоёбы, скок сюды
|
|||
---|---|---|---|
#18+
Понятно. Фик знает как там мусикл действует, но по сути ты сначала получаешь полную выборку и в том числе с сообщениями без аттачментов, а сверху накладываешь условие нот налл. Попробуй в условии склейки таблиц добавить этот нот налл. В фб такое прокатывали. Может побыстрее ьудет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2022, 20:25 |
|
|
start [/forum/topic.php?fid=8&msg=58499&tid=2074]: |
0ms |
get settings: |
54ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
1729ms |
get tp. blocked users: |
1ms |
others: | 33ms |
total: | 1869ms |
0 / 0 |