![Wink ;)](./images/smilies/wink.gif)
![Crying or Very sad :cry:](./images/smilies/cray.gif)
![Crying or Very sad :cry:](./images/smilies/cray.gif)
![Crying or Very sad :cry:](./images/smilies/cray.gif)
А это все зависит от пакета "зарплата + бонусы", что предложат. Если вы человеку дадите нечто превышающее унаследованный геморрой, он будет сидеть, пилить базу без статистики и тюнить хинтами запросы...Kateryna wrote:Про NL vs Hash Joins я даже боюсь упоминать. Мы так вообще никого никогда не найдем. А найдем, то через 3 мес. сбежит...
я думаю в условии ошибкаFlying Hen wrote:Интересно, почему? Допустим N и M количество записей в большой и малой таблицах соотв, N=2*10^8, M=10^6.Albert_al wrote: 7) One table is big (200 mln), second is small (1 mln). Write a query to find the rows that exist in small but not in big. What is the difference between NOT IN and NOT EXIST, which query would be more effective (keyword i need to hear is hash anti-join)
Hash join:
Создать hash малой таблицы: M операций
Просканировать большую таблицу: N операций
Итого: M+N=2*10^8
Index join: M*lg(N)=8*10^6
Получается, что обычный join делает на два порядка меньше операций. Или в Оракле есть какие-то тонкости?
бенефиты и зарплата средние. Не плохие, но и ничего особенногоmynameiszb wrote:А это все зависит от пакета "зарплата + бонусы", что предложат. Если вы человеку дадите нечто превышающее унаследованный геморрой, он будет сидеть, пилить базу без статистики и тюнить хинтами запросы...Kateryna wrote:Про NL vs Hash Joins я даже боюсь упоминать. Мы так вообще никого никогда не найдем. А найдем, то через 3 мес. сбежит...
PS. У меня шапочный знакомый сказал, что просто живет на нынешней работе сутками. При этом - зарплата выше тимлида группы, и мед страховка покрывает за счет компании все. Понятие "все" означает, что на семью покрывается действительно ВСЕ, включая 100% на зубы. Поэтому и живет на работе, а домашние папу видят, когда он заезжает в полночь сменить рубашку...
Может, вам тоже в этом направлении копать? Полпривета выстроится в очередь, а другая половина уже будет сидеть рядом с вами в кубиках на испытательном сроке.
Ok, now i know what to put in resumeKateryna wrote:Про NL vs Hash Joins я даже боюсь упоминать. Мы так вообще никого никогда не найдем. А найдем, то через 3 мес. сбежит...
вот индусы просто поступают с резме - перечисляются все Oracle features и ствится 15 лет опыта работыAlbert_al wrote:Ok, now i know what to put in resumeKateryna wrote:Про NL vs Hash Joins я даже боюсь упоминать. Мы так вообще никого никогда не найдем. А найдем, то через 3 мес. сбежит...
Трудно сказать, что прально в условии, а что нет, но определенно, при <exist in small but not in big> будет лучше работать <not in>, а при наоборот, как вы прально подметили, имеет смыл искать <anti-join>. А как прально ответить на вопрос, ввернув туда <anti-join> тоже непростой вопрос для интервьюzgur wrote:я думаю в условии ошибкаFlying Hen wrote:Интересно, почему? Допустим Н и М количество записей в большой и малой таблицах соотв, Н=2*108, М=106.Albert_al wrote: 7) Оне табле ис биг (200 млн), сецонд ис смалл (1 млн). Шрите а ъуеры то финд тхе рошс тхат ехист ин смалл бут нот ин биг. Шхат ис тхе дифференце бетшеен НОТ ИН анд НОТ ЕХИСТ, шхич ъуеры шоулд бе море еффецтиве (кеышорд и неед то хеар ис хаш анти-йоин)
Хаш йоин:
Создать хаш малой таблицы: М операций
Просканировать большую таблицу: Н операций
Итого: М+Н=2*108
Индех йоин: М*лг(Н)=8*106
Получается, что обычный йоин делает на два порядка меньше операций. Или в Оракле есть какие-то тонкости?
"тхат ехист ин смалл бут нот ин биг "
надо читать как
"тхат ехист ин биг бут нот ин смалл "
тогда Хаш Анти-Йоин имеет смысл. В оригинальной версии, Нестед Лооп (смалл табле ас а дривер) будет быстрее.
Значит, остается ждать, когда - когда...Kateryna wrote: это скорее зависит от руководства когда они поймут что уже не маленький стартап а солидная компания с большой базой клиентов, SLA и глючной системой. наверное какие-то night shifts,дежурства нужны оплата соответствующая
And 150k salarymynameiszb wrote:Так что готовьтесь. Как только компания переживет первый крупный дизастер, так вам в список задач нарисуют еще 150 пунктов.
Кстати, кстати, я почитала, что все там много разных < hash anti-join>, левое или правое, когда мы говорим о <NOT IN>,или <NOT EXIST> мы говорим о <hash anti-join>, воLikenew wrote:Трудно сказать, что прально в условии, а что нет, но определенно, при <exist in small but not in big> будет лучше работать <not in>, а при наоборот, как вы прально подметили, имеет смыл искать <anti-join>. А как прально ответить на вопрос, ввернув туда <anti-join> тоже непростой вопрос для интервью :цразы:zgur wrote:я думаю в условии ошибкаFlying Hen wrote:Интересно, почему? Допустим Н и М количество записей в большой и малой таблицах соотв, Н=2*108, М=106.Albert_al wrote: 7) Оне табле ис биг (200 млн), сецонд ис смалл (1 млн). Шрите а ъуеры то финд тхе рошс тхат ехист ин смалл бут нот ин биг. Шхат ис тхе дифференце бетшеен НОТ ИН анд НОТ ЕХИСТ, шхич ъуеры шоулд бе море еффецтиве (кеышорд и неед то хеар ис хаш анти-йоин)
Хаш йоин:
Создать хаш малой таблицы: М операций
Просканировать большую таблицу: Н операций
Итого: М+Н=2*108
Индех йоин: М*лг(Н)=8*106
Получается, что обычный йоин делает на два порядка меньше операций. Или в Оракле есть какие-то тонкости?
"тхат ехист ин смалл бут нот ин биг "
надо читать как
"тхат ехист ин биг бут нот ин смалл "
тогда Хаш Анти-Йоин имеет смысл. В оригинальной версии, Нестед Лооп (смалл табле ас а дривер) будет быстрее.
Ето идет речь об <Oracle Net services>. < sqlnet.ora > хранит параметры доступаLjolja wrote:о, а можно я здесь задам ? (практический) по ораклу на который мне в другой теме так и не ответили?
:оопс:
Шхат ис тхе наме оф тхе цонфигуратион филе (шитх тхе патх иф ит ис нот униъуе), шхич цонтаинс цоннецтион пермиссионс?
Или на пальцах, в моей орацле дб дб1 зарегистрирован пользователь усер1,
усер1 может коннектиться к базе полько с лоцальной системы (где он тоже зарегистрирован, как усер1) при етом попытка запуска им сълплус с консоли, не должна заканчиваться ? о каком-то пароле (которого у дб1 нет, поскольку усер создавался как:
цреате усер усер1 идентифиед ехтерналлы;
)
также в дб1 зарегистрирован пользователь усер2. Он может коннектиться к дб1 с Вашего комьютера, но только оттуда. сысдба и иже с ним, могут коннектиться только с локалки. Более никто и ниоткуда к дб1 подконнентиться не может.
Как ето сделать?
Присоединяюсь.sp123 wrote:Народ, раз пошла такая пьянка, а не поговорить ли нам опять про датабазные интервью? А то давненько эту тему не поднимали, вдруг там что интересного происходит. Понятно, что оффтоп, так ведь Арез все равно рано или поздно заполучит в команду развесистого индуса, к гадалке не ходи.
Кто недавно искал работу, о чем нынче любят поговорить, что показалось интересным?
Для затравки. Говорят, стало популярным спрашивать про миграцию. Типа, есть куча старых таблиц, а мы строим в сторонке новую базу и хотим перелить туда старые данные, но без дошнтиме на обеих базах, и чтобы они потом какое-то время крутились параллельно. Ну или примерно из той же оперы, но вместо новой базы просто хотим похерить 90% старых данных.
Что еще? Ну, помимо булк и аналитических функций?
Here is the good example http://www.dbspecialists.com/files/pres ... joins.htmlLikenew wrote: А то на <asktom> народ спрашивает, где почитать.
спасибо, Likenew, но на ету часть ? мне уже ответили выше.Likenew wrote:Ето идет речь об <Oracle Net services>. < sqlnet.ora > хранит параметры доступаLjolja wrote:о, а можно я здесь задам ? (практический) по ораклу на который мне в другой теме так и не ответили?
:оопс:
Шхат ис тхе наме оф тхе цонфигуратион филе (шитх тхе патх иф ит ис нот униъуе), шхич цонтаинс цоннецтион пермиссионс?
Или на пальцах, в моей орацле дб дб1 зарегистрирован пользователь усер1,
усер1 может коннектиться к базе полько с лоцальной системы (где он тоже зарегистрирован, как усер1) при етом попытка запуска им сълплус с консоли, не должна заканчиваться ? о каком-то пароле (которого у дб1 нет, поскольку усер создавался как:
цреате усер усер1 идентифиед ехтерналлы;
)
также в дб1 зарегистрирован пользователь усер2. Он может коннектиться к дб1 с Вашего комьютера, но только оттуда. сысдба и иже с ним, могут коннектиться только с локалки. Более никто и ниоткуда к дб1 подконнентиться не может.
Как ето сделать?
Я подозреваю существует несколько путей реализации такого. Вот тут есть похоже, что вам нужно
<Invited nodes
Use this parameter to check for invited and excluded nodes. This list takes precedence over the TCP.EXCLUDED_NODES
parameter if both lists are present TCP.INVITED_NODES=(hostname | ip_address, hostname | ip_address, ...)
TCP.INVITED_NODES=(sales.us.acme.com,
hr.us.acme.com, 144.185.5.73)
>http://psoug.org/reference/net_services.html