Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет mumuntu ([info]mumuntu)
@ 2011-07-20 04:36:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Я тут был на собеседовании (регулярно хожу, чаще, чем к врачу, это не значит, что я хочу работу сменить), и меня один коллега-джавадевелопер попросил решить известную задачу про две таблицы со связью между ними и все значения из первой таблицы, которые не имеют связи во второй таблице.
Когда я ему ответил, что надо сделать LEFT JOIN с WHERE <fk второй таблицы> IS NULL, он мне заявил, что это неоптимально, и предложил вариант с NOT EXISTS.

Дорогие коллеги-джавадевелоперы!
Если в вашей голове запрос с NOT EXISTS в плане выглядит оптимальнее, чем запрос с LEFT JOIN, крайне рекомендую синхронизировать ваше внутреннее представление с реальным планом запроса базы.
А еще лучше - не беритесь рассуждать о том, в чем не разбираетесь.
Что интересно, коллега мне еще сказал, что в случае с NOT EXISTS не нужен подзапрос (?). Я не знаю, как это трактовать, совсем вы офигели в своей джаве.

Upd.: в комментариях и в связанной записи коллеги [info]plumqqz@lj произошло интересное обсуждение, по результатам которого я пошел и нашел блогозапись коллеги Quassnoi, в которой изложена вся информация по теме LEFT JOIN vs NOT EXISTS применительно к MySQL.


(Читать комментарии) - (Добавить комментарий)


[info]alexshubert@lj
2011-07-22 07:39 (ссылка)
Это не отменяет факт его почтенного возраста.

Вон, я смотрю, уже какой-то WebKit2 анонсировали, но на Java при этом все равно пока не переходят.
Разумеется, ведь они готовят его на основе старого кода.

ри этом оракл никогда не делал браузеры общего назначения
Он еще и орехоколок не делал. Что за аргумент такое, причем тут вообще браузеры? Например, я не знаю ни одной пупочесалки с посгресом. Все, панихиду заказывать?

Очевидно же, нет.
Да я уже по истерике парой веток рядом понял. Помочь можно чем-нибудь? Я в жаббере есличо

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]alexclear@lj
2011-07-22 07:59 (ссылка)
Это не отменяет факт его почтенного возраста.

Линуксу вон вообще 20, а ничего, как новый.
Я думаю, дело здесь не в возрасте.

Разумеется, ведь они готовят его на основе старого кода.

Ну, то есть, старый код оказался не таким уже неподходящим для этой задачи, верно?

Он еще и орехоколок не делал. Что за аргумент такое, причем тут вообще браузеры?

Ну хорошо, можно не так поставить вопрос.
Можно провести голосование: если бы сейчас коллеги собрались бы писать браузер, на каком языке они бы его писали?
За пределами PHP-сообщества, я думаю, голоса были бы не в пользу Java сейчас.

Да я уже по истерике парой веток рядом понял. Помочь можно чем-нибудь? Я в жаббере есличо

Окей, я продолжу здесь, потому что это интересная тема.
Зачем люди ходят на конференции и собеседования? Чтобы получить обратную связь. В первом случае обратная связь будет от, условно говоря, прогрессивной тусовки, лица из которой спят наяву (обкурившись гашиша, хехе) и видят сны о будущем индустрии. Во втором случае обратная связь будет от тех, кто платит нам деньги. В обоих случаях появляется некое направление дальнейшего движения. Как ты понимаешь, горизонты познания бесконечны, и хотелось бы их, по возможности, сузить. Я могу изучить язык Nemerle, но не хочу. Я хочу изучить что-нибудь, что а) даст возможность обезопасить мой доход, б) даст возможность не заснуть на первых 20 страницах книги "это самое за 21 день".
И вот, я иду на собеседование, и слышу там все то же самое, что слышал пять лет назад. Ну и, зачем ходил? Что мне изучать, ESB и OSB? О, круто, а энергетики бесплатно выдадут? Или мне сесть и повторять Core Java до тех пор, пока я не начну во сне разговаривать методами из java.util? Отличные перспективы.
Ты вот спрашиваешь, чем помочь, выходы два:
1) Всем хорошим срочно собраться и убить всех плохих,
2) Упразднить товарно-денежные отношения, всю власть передать поэтам и философам, каждому выдать по 20 рабов и далее действовать как в книге "Город Солнца" или любой аналогичной.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]jdevelop@lj
2011-07-22 08:59 (ссылка)
блядь, ну ты реально зажег

Саша, ты пошел на интервью в Люксофт для UBS и реальне думал, что тебя будут спрашивать о хорошем, добром и вечном?

ну это как если бы тебе выдали, ну не знаю, какую ты там еду больше всего не любишь, ты знаешь что ты её не любишь - но попробовал и потом накропал аццкий псто на тему "бля! оно говно!!!111"

не ходи на собеседования в люксофт, и будет тебе моральное спокойствие и плюс десять лет к жизни

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]alexclear@lj
2011-07-22 09:02 (ссылка)
Ну, кто звал, к тому и пошел.
А куда еще?
Все остальные отваливаются на этапе обсуждения зарплатной вилки.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]jdevelop@lj
2011-07-22 13:41 (ссылка)
то есть ты хочешь сказать, что ты озвучил вилку, тебе сказали "ок, говно вопрос" и позвали на интервью?

так не бывает

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]alexclear@lj
2011-07-22 13:44 (ссылка)
Не поел, почему не бывает?
Я всегда сразу называю вилку, чтобы время зря не терять.
Но по определенным причинам (известно, каким), с люксом это не совсем срабатывает.
Хотя весной они меня не позвали именно из-за вилки.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]jdevelop@lj
2011-07-22 13:45 (ссылка)
видать, тебе попался какой=то неправильный хр

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]alexclear@lj
2011-07-22 13:48 (ссылка)
Ну я фиг знает, а что должен был сделать правильный HR?
Кстати, никакого фидбэка по последнему собеседованию от них нет до сих пор, "чтоб они сгорели нахуй", как пишет в FrF коллега Корвалол.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]jdevelop@lj
2011-07-22 14:24 (ссылка)
Саш, это большой бодишоп с собстыенным бардаком внутри, так что забей

тем более что все равно ты там работать не собирался, даже за нужные тебе дегни

(Ответить) (Уровень выше)


(Анонимно)
2011-07-22 13:58 (ссылка)
Ну если желание не сменить работу, а потрещать о перспективах, то можно и не отваливаться на этапе обсуждения зп самому, нет?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]alexclear@lj
2011-07-22 14:03 (ссылка)
А технологии обычно приходят в описании позиции - то есть, можно, конечно, их начать обсуждать на уровне технических лидов и так далее, но, если технологии уже выбраны, вряд ли их поменяют. Я этого наелся уже, в конце концов, раз в год попадается кто-нибудь с подходящей зарплатной вилкой, после чего заходит разговор за технику. Пока меня никто не удивил в нужную сторону.

(Ответить) (Уровень выше)


(Читать комментарии) -