например INNER, данные из первой таблицы отображаются как продублированные, но дублируются ли они на самом деле на уровне ответа из бд?
Таблица1 ид|Имя 1 |Саша Таблица2 ид|ид_юзера|вещь 1 | 1 | носок 2 | 1 | трусы select имя, вещь from table1 join table2.... санек два раза выведется, что смущает-то?
выводятся (представление данных) столбцы как продублированные, но продублированы ли эти столбцы на самом деле на уровне респонса из бд?
Продублированы. Вот что показывает, то в ответе (респонсе) и было.
откуда инфа?
Опыт. Обычно клиенты баз данных не выдумывают ответ и не дописывают к ответам сервера ничего от себя.
представлять данные в определенном виде не значит дописывать от себя
Ничоси! А «дублировать» — это тоже «представлять в определённом виде»?!
Покажи!
не сложно представить результат джойна где в одной из таблиц данные продублированы/прокопированы в выхлопе psql например
Покажи! Берёшь любимый клиент СУБД, делаешь запрос. Показываешь продублированные строки-данные. Показываешь результат tcpdump, в котором видно, что от сервера «дублей» не приходило.
не могу ничего разобрать в выхлопе tcpdump
Ну тогда есть путь "легче" – посмотреть исходный код postgres =) Но я повторюсь опять – вы пытаетесь решать выдуманную проблему, реально с ней не столкнувшись.
почему обязательно problem driven должно быть поведение :)
в общем все просто оказывается, если данные читать как в респонсе, то будут дубликаты, если читать только раз, то не будет)
продублируются данные или нет зависит от того прочитает их клиент больше одного раза или один раз только
может стоить начать с того что то что вы называете дубликатами на самом деле не дубликаты
не знаю, везде вроде дубликатами называют повторы строк в результате джойна
Что мешает дубликатам быть в таблице и без джоина?
ну речь именно про результат джойна была изначально, а то что в таблицах нет дублирующихся данных подразумевалось
Обсуждают сегодня