|
|
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
дана последовательность данных '00001' '00002' '00004' '00005' '00006' Как найти отстутсвующий элемент '00003' Курсоры не предлагать желательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 10:47 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
abort, lag/lead ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 10:58 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
AmKad, это не оптимально. Оптимальное решение приводили уже. Просто и читабельно. -2- Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:35 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Артефакт, уймись. может быть и 2 отсутствующих. что тогда делать будешь?) sys.odcinumberlist(2,3,5,6,8,9) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:45 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
abortдана последовательность данных '00001' '00002' '00004' '00005' '00006' Как найти отстутсвующий элемент '00003' Курсоры не предлагать желательно. minus select.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:50 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Пропуски могут быть более 1. LEAD оптимально но при больших данных считается долго. Но пока терпимо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:55 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vint, как?! а все, теперь вижу последний комментарий топикстартера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:57 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
abortдана последовательность данных '00001' '00002' '00004' '00005' '00006' Как найти отстутсвующий элемент '00003' А можно алгоритм, по которому определяется разрыв в последовательности символьных данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:03 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Артефакт, хрустальный шар всегда прав)) abort , а еще может отсутствовать подряд несколько значений)) сто раз светилось это решение и на собеседования я обычно спрашиваю и хочу увидеть именно его Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:07 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Жертва abortа, формируются файлы, автоматом они парсятся и заносятся в БД. При это присваивается сквозной номер. Но иногда обработчик дает сбой или файл(ы) не поступают. Т.е. вместо последовательности данных имена файлов с сквозным сиквенсом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:07 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
VintАртефакт, хрустальный шар всегда прав)) abort , а еще может отсутствовать подряд несколько значений)) сто раз светилось это решение и на собеседования я обычно спрашиваю и хочу увидеть именно его Код: plsql 1. 2. 3. 4. 5. Собеседование? О господи. Кого вы там собеседуете? И чем вам SELECT LEVEL FROM DUAL CONNECT BY LEVEL < n ... не угодил? Какие еще odcinumberlist ? Код: plsql 1. 2. 3. 4. 5. 6. или даже быстрее раза в два: Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:36 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, иди учись читать. особенно полезно с третьего поста откуда и был взят odcinumberlist. придраться больше не к чему? или есть что по основной задаче автора сказать? ты бы точно не прошёл)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:41 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vint, dbpatch это все я виноват. Попытался неудачно пошутить в серьезной теме и внес смуту в общение. Удаляю свой серый ник. Еще раз простите! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:51 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, иди учись читать. особенно полезно с третьего поста откуда и был взят odcinumberlist. придраться больше не к чему? или есть что по основной задаче автора сказать? ты бы точно не прошёл)) я придрался к твоей ультрапафосной фразе: "сто раз светилось это решение и на собеседования я обычно спрашиваю и хочу увидеть именно его " выяснить, с какого перепугу ты его хочешь видеть только его - прямо экзестенциальная научная проблема теперь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:52 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, Код: plsql 1. 2. 3. 4. 5. вот тебе тестовые данные. жду твоих тестов по времени выполнения, не надорвись там... потом может быть снизойду до убого и поясню почему жду именно такого решения, раз уж кто-то не смог за год найти кнопку поиска ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:00 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, Код: plsql 1. 2. 3. 4. 5. вот тебе тестовые данные. жду твоих тестов по времени выполнения, не надорвись там... потом может быть снизойду до убого и поясню почему жду именно такого решения, раз уж кто-то не смог за год найти кнопку поиска да да, ты главное жди :) все сейчас возьмут и бросятся считать дыры на пространствах галактического масштаба, т.е. на задаче, выковырянной вот сейчас вчерашним студентом из носу ты что сказать-то хотел? что на CONNECT BY temp/pga расходуется? и? у него в задаче пять разрядов в цифрах, потребность в памяти можешь сам посчитать, на калькуляторе, собеседователь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:07 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, это ты притянул за уши all_objects, и это ты начал про "даже быстрее раза в два", а теперь вдруг слился и не хочешь считать количество лапши на своих ушах))) и как "вчерашний студент"(для меня это комплимент если что) могу посоветовать быть более предметным и последовательным)) а не прыгать с темы на тему. твои решения сто раз обсасывались на этом форуме)) еще лет 12 назад. если мне не изменяет моя студенческая память и дата регистрации))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:17 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintсто раз светилось это решение и на собеседования я обычно спрашиваю и хочу увидеть именно егоПозориться с ROWNUM аж сто раз не стоило. dbpatchвсе сейчас возьмут и бросятся считать дыры на пространствах галактического масштабаИди патчь БД. Разработка это не твоё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:25 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Elic, лично твое мнение? или опять холиварить будем?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:37 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Elicdbpatchвсе сейчас возьмут и бросятся считать дыры на пространствах галактического масштабаИди патчь БД. Разработка это не твоё. Я конечно извиняюсь, но у тебя разве кто-то спрашивал, кому что сейчас и вообще нужно делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:55 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatchЯ конечно извиняюсь, но у тебя разве кто-то спрашивал, кому что сейчас и вообще нужно делать?Troll detected. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 14:58 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
На хабре была похожая статья https://habrahabr.ru/post/303364/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 15:02 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, это ты притянул за уши all_objects, и это ты начал про "даже быстрее раза в два", all_objects это обычная практика для примеров, ибо он есть у всех, что тебя так перевозбудило? Vintа теперь вдруг слился и не хочешь считать количество лапши на своих ушах))) С чего бы я слился? Это ты в лужу сел, не понимая суть задачи. Заполнение дыр актуально на человеко-читаемых данных, т.е. когда у тебя до 6 разрядов (до шести цифр), и там connect by работает очень хорошо. Когда у тебя диапазон за миллион - то там никакой нужды заполнять дыры ни в одной практической задаче нет, там работают просто сиквенсы и дыры никого не напрягают. Ибо это 100% не статические справочники, а бизнес-факты. И даже если очень припечет (к примеру искать номера пропущенных номеров телефонов у операторов или кредитных карт у банков) - никто не мешает поработать диапазонами по 100к в цикле. Ты мне сунул под нос свою фантазию, я тебе прямо сказал - эта твоя выдуманная "задача" - это пускание пузырей сидя из лужи, и не смешно и не актуально. Зачем ты это сделал и что хотел доказать - загадка. Vintи как "вчерашний студент"(для меня это комплимент если что) могу посоветовать быть более предметным и последовательным)) а не прыгать с темы на тему. твои решения сто раз обсасывались на этом форуме)) еще лет 12 назад. если мне не изменяет моя студенческая память и дата регистрации))) мои решения? дата регистрации? сюр какой-то. ну пытаешься ты сохранить лицо, это понятно, но я то тут причем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 15:05 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatchVintАртефакт, хрустальный шар всегда прав)) abort , а еще может отсутствовать подряд несколько значений)) сто раз светилось это решение и на собеседования я обычно спрашиваю и хочу увидеть именно его Код: plsql 1. 2. 3. 4. 5. Собеседование? О господи. Кого вы там собеседуете? И чем вам SELECT LEVEL FROM DUAL CONNECT BY LEVEL < n ... не угодил? Какие еще odcinumberlist ? Код: plsql 1. 2. 3. 4. 5. 6. или даже быстрее раза в два: Код: plsql 1. 2. 3. Итак, в первом примере два полных сканирования, ANTI JOIN, и connect by. Во втором два полных сканирования, connect by и сортировка, требуемая для минус. В примере Винта одно сканирование и сортировка, требуемая для аналитики (если дырки ищутся в PK например, то сортировка вообще не потребуется, т.к. данные могут быть уже вычитаны упорядочено). Ты утверждаешь что твое решение имеет какие-то преимущества? Свой connect by ты можешь чуть улучшить генерируя от min до max а не от 1 до max, но все равно его сюда приплетать и генерировать весь диапазон тот еще идиотизм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 15:36 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopТы утверждаешь что твое решение имеет какие-то преимущества? Преимущества перед чем, прости? table(sys.odcinumberlist(2,3,5,6,8,9)) это не решение задачи в общем случае, это вообще не решение. dbms_photoshopСвой connect by ты можешь чуть улучшить генерируя от min до max а не от 1 до max, но все равно его сюда приплетать и генерировать весь диапазон тот еще идиотизм. Да ты что? Ну приведи пример своего ээээ.... неидиотизма, и мы тут сейчас выскажем свое оценочное суждение :) А то кричать лишь "гляди, повели идиота" - любой идиот сможет. А по поводу того, что можно и (нужно порой_ генерировать и проверять произвольные диапазоны от N до M я говорил выше в фразе про "100к в цикле", и? Кому надо, тот и сам догадается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 16:56 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, ты жалок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:01 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatchtable(sys.odcinumberlist(2,3,5,6,8,9)) это не решение задачи в общем случае, это вообще не решение.Правильно, это не решение. Это тестовые данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:02 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, table(sys.odcinumberlist(2,3,5,6,8,9)) - это набор тестовых данных за который ты почему то зацепился и предложил не разобравшись использовать connect by... я понимаю что ты вместо головы используешь пятую точку, но иногда думать бывает невредно. ты даже не понял что моё решение можно переписать в общем виде как Код: plsql 1. 2. 3. 4. 5. попробуй хотя бы теперь не выдавать кирпичи для строительства своего бреда... подумай пять секунд перед ответом) ты и так был никто, так хотя бы не стремись к абсолютному нулю) offtop dbms_photoshop, мне кажется это твинк которого я прошлый раз так сильно обидел что он пошел на меня плакаться в онс и так ничего и не добился))) а если не твинк надо его довести чтобы и этот пошел жаловаться)) я ж даже модерам написать не могу))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:09 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Хорошо бросаетесь кирпичами. С точки зрения одних - для того, чтобы abortКак найти отстутсвующий элемент '00003' достаточно указать диапазон в который это '00003' попадает другие отстаивают способы указания именно всех элементов диапазона ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:13 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Хорошо еще никто не додумался отстаивать точку зрения на предмет указания первого попавшегося такого числа с остановом, чтоб не лопатить все данные. Тут бы уж точно все перестали понимать друг друга :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:15 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, вот только не начинай... детская задачка про то как разложить диапазон на все значения в него входящие это еще проще)) и вот там кстати и понадобиться connect by... ну или xml table.. ну или... еще много решений)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:17 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopdbpatchпропущено... Собеседование? О господи. Кого вы там собеседуете? И чем вам SELECT LEVEL FROM DUAL CONNECT BY LEVEL < n ... не угодил? Какие еще odcinumberlist ? Код: plsql 1. 2. 3. 4. 5. 6. или даже быстрее раза в два: Код: plsql 1. 2. 3. Итак, в первом примере два полных сканирования, ANTI JOIN, и connect by. Во втором два полных сканирования, connect by и сортировка, требуемая для минус. В примере Винта одно сканирование и сортировка, требуемая для аналитики (если дырки ищутся в PK например, то сортировка вообще не потребуется, т.к. данные могут быть уже вычитаны упорядочено). Ты утверждаешь что твое решение имеет какие-то преимущества? Свой connect by ты можешь чуть улучшить генерируя от min до max а не от 1 до max, но все равно его сюда приплетать и генерировать весь диапазон тот еще идиотизм. честно говоря, не пойму, что ты сравниваешь. первый случай ориентирован на выдачу первого результата - второй - на выдачу всех. поизучай лучше честный план на примере (под SYS), ибо какой смысл рассматривать все наслоения великолепия в ALL_OBJECTS, они не относятся к сути задачи. Код: plsql 1. 2. 3. 4. 5. 6. там и близко нет никаких полных сканирований что вы все агрессивные то такие сегодня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:18 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintвот только не начинай... детская задачка про то как разложить диапазон на все значения А если они не нужны, а надо просто в дырку всунуть. Причем желательно обойтись индексным покрытием? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:19 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, ну имхо перпендикулярная задача, но учитывая что в дырку сувать приходиться не раз и не два.... и каждый раз лопатить для этого, даже по индексному доступу, таблицу как то накладно, я бы таки посчитал все дырки и выписал на отдельный листик... ведь там еще за уши можно притянуть множество одновременно работающих пользователей, а тут уже каждому не посчитаешь отдельно) тут лочить придёться) да и вообще раз 10 уже обсуждали)) чего мусолить одно и тоже)) все есть в поиске) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:28 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintчего мусолить одно и тоже)) все есть в поиске) Вот и я недоумеваю, чего все так впряглись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:29 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, да это ж личное)) сразу видно человек очень неравнодушен к вчерашним студентам типа меня)) да и скучно... давно не бодались, интересных тем нет.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:33 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
так пойдет? select min(column_value) min_cv ,max(column_value) max_cv ,column_value-rn grp from ( select t.* ,row_number()over(order by column_value) rn from table(sys.odcinumberlist(2,3,4,5,6,8,9)) t ) group by column_value-rn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:37 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, table(sys.odcinumberlist(2,3,5,6,8,9)) - это набор тестовых данных за который ты почему то зацепился и предложил не разобравшись использовать connect by... я понимаю что ты вместо головы используешь пятую точку, но иногда думать бывает невредно. ты даже не понял что моё решение можно переписать в общем виде как Код: plsql 1. 2. 3. 4. 5. попробуй хотя бы теперь не выдавать кирпичи для строительства своего бреда... подумай пять секунд перед ответом) ты и так был никто, так хотя бы не стремись к абсолютному нулю) и? в чем суть твоих откровений? читая мой код - можно сразу сказать, что он делает. читая твой код - я буду минимум секунд тридцать пытаться разбирать закорючки с этими +1 и -1, почитаю лишний раз доку про subquery factoring, и все равно у меня останется привкус рассмотренного говнокода и убеждение в необходимости его как минимум потестировать - т.е. на выходе будем иметь лишь оценочное суждение вида: "слишком сложно, переписать". кроме того, никаких преимуществ перед connect by лично я не вижу, особенно в задаче - "мне нужно получить первый свободный номер из дырок" может ты их огласишь в явном виде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:41 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевХорошо еще никто не додумался отстаивать точку зрения на предмет указания первого попавшегося такого числа с остановом, чтоб не лопатить все данные. Тут бы уж точно все перестали понимать друг друга :)Для тебя как-то принципиально меняется логика этой задачи если надо отфетчить только одну строку, а не все? dbpatchпоизучай лучше честный план ... что вы все агрессивные то такие сегодня?В cлучае not exists может быть один из трех вариантов плана - anti join - nested loops anti - filter Любой из вариантов хуже чем одно сканирование в альтернативном решении (это мы тут еще не упоминаем connect by). Ты бы чуток вежливее разговариал, учитывая практически полное отсутсвие знаний и понимания, тогда агрессии в твой адрес, вероятно, было бы поменьше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:47 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
VintСергей Арсеньев, ну имхо перпендикулярная задача, но учитывая что в дырку сувать приходиться не раз и не два.... и каждый раз лопатить для этого, даже по индексному доступу, таблицу как то накладно, я бы таки посчитал все дырки и выписал на отдельный листик... ведь там еще за уши можно притянуть множество одновременно работающих пользователей, а тут уже каждому не посчитаешь отдельно) тут лочить придёться) да и вообще раз 10 уже обсуждали)) чего мусолить одно и тоже)) все есть в поиске) почему за уши? это вполне реальная задача, называется "резервирование номера договора" (или любого иного документа). никаких листиков не нужно, это банальный unique key и поле state = 'DRAFT' в таблице документов, с оптимистичным подходом - "быстро быстро вставили, и закоммитили, если не получились и попали на ORA-00001 - сходили еще раз за следующим номером". даже отдельный листик заводить не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:47 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, сначала хотел написать.... но потом понял что очередной непроходимо тупой нуб. как всегда одни и те же аргументы у тысяч идиотов. сначала выпятить своё решение, а потом скатываться до оценочных суждений... это БД. тут все измеряется попугаями. и твои поделки по попугаям в глубокой жопе. как и писал Фотошопчик. но тебе даже знаний на осознание этой простейшей истины не хватает.... дальше будет только троллинг)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:53 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, ORA-00001 ахаха.. у меня истерика.. я просто валяюсь.. просто сходили.. и просто еще раз выполнили ага.... просто.. все ж просто... у рукожопых всегда всё просто.. ну сходи на паре миллиардов строк.. сходи родной.. смотри чтобы потом тебе руки не поломали за кривожопство))) ты хоть представляеш сколько стоит rollback в некоторых транзакциях? хотя откуда... вся молодец же считает что проще обработать ошибку... у мени никогда не кончиться работа с такими как ты.. пиши исчо)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:56 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopdbpatchпоизучай лучше честный план ... что вы все агрессивные то такие сегодня?В cлучае not exists может быть один из трех вариантов плана - anti join - nested loops anti - filter Любой из вариантов хуже чем одно сканирование в альтернативном решении (это мы тут еще не упоминаем connect by). . там у него не только сканирование, там еще сортировка-группировка, и CPU cost не так уж и мал. но если тебе хочется полного феншуя - кто мешает сделать PL/SQL функцию, которая будет крайне бережно перебирать значения в индексе, отсчитывая цикл значений отдельно (фактически задача слияния сортировкой, один проход, array fetch, минимум LIO)? но тут запретили курсор и PL/SQL, ок. dbms_photoshopТы бы чуток вежливее разговариал, учитывая практически полное отсутсвие знаний и понимания, тогда агрессии в твой адрес, вероятно, было бы поменьше. о да, это значит я ВНЕЗАПНО начал обвинять кого-то в идиотизме и ламерстве, да? и да, я учитываю полное отсутствие знания и понимания сути задачи у других, даже примеры привожу задач из реальной жизни, что тут-то не так? или, о боже, это ты еще раз решил рассказать о своем ценном мнении о моей некомпетентности и неопытности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:56 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, сначала хотел написать.... но потом понял что очередной непроходимо тупой нуб. как всегда одни и те же аргументы у тысяч идиотов. сначала выпятить своё решение, а потом скатываться до оценочных суждений... это БД. тут все измеряется попугаями. и твои поделки по попугаям в глубокой жопе. как и писал Фотошопчик. но тебе даже знаний на осознание этой простейшей истины не хватает.... дальше будет только троллинг)) тупой нуб? зачем так самокритично-то? впрочем да, неофитам это свойственно, не понимать, что современный код намного сложнее читать, чем писать, и писать нужно как можно более понятнее. ну так что там с явными преимуществами? вот так сразу слив? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 17:58 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatchкроме того, никаких преимуществ перед connect by лично я не вижу, особенно в задаче - "мне нужно получить первый свободный номер из дырок" может ты их огласишь в явном виде?Ок, если тебе надо получить первый номер (и ты видимо уже подразумеваешь, что имеется необходимый уникальный индекс), то ты предлагаешь index scan min/max + connect by + nested loops + index unique scan. Альтернативный подход был бы аналитика + rownum <= 1 (ну это если тебе таки хватит мозгов понять что было написано Винтом и убрать оттуда группировку и rownum). В плане это было бы index range scan + window buffer + stopkey. Или простым языком: делаем фетч по индексу, пока не попалось значение, отличающееся от предыдущего более чем на 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 18:08 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatchтам у него не только сканирование, там еще сортировка-группировка, и CPU cost не так уж и малПоходу таки не хватило мозгов понять решение. Сортировки-группировки это украшательства, которые для нахождения "первой дырки" совсем не нужны. Ну а сравнивать [разные] запросы на основании CPU cost это даже не смешно. Жду тебя в других темах, это было увлекательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 18:14 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopСергей АрсеньевХорошо еще никто не додумался отстаивать точку зрения на предмет указания первого попавшегося такого числа с остановом, чтоб не лопатить все данные. Тут бы уж точно все перестали понимать друг друга :)Для тебя как-то принципиально меняется логика этой задачи если надо отфетчить только одну строку, а не все?Все-таки, в случае window buffer + stopkey индекс вычитывается целиком, так что при стремлении к совершенству может понадобится логику со сравнением надо вынести в PL/SQL . :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 18:32 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopdbpatchкроме того, никаких преимуществ перед connect by лично я не вижу, особенно в задаче - "мне нужно получить первый свободный номер из дырок" может ты их огласишь в явном виде?Ок, если тебе надо получить первый номер (и ты видимо уже подразумеваешь, что имеется необходимый уникальный индекс), то ты предлагаешь index scan min/max + connect by + nested loops + index unique scan. Альтернативный подход был бы аналитика + rownum <= 1 (ну это если тебе таки хватит мозгов понять что было написано Винтом и убрать оттуда группировку и rownum). . если не секрет, тебе самому мозгов-то хватает? серьезно? dbms_photoshopВ плане это было бы index range scan + window buffer + stopkey. Или простым языком: делаем фетч по индексу, пока не попалось значение, отличающееся от предыдущего более чем на 1. ок, и? разве оно было тут кем-то озвучено? ну давай потестим, оок (включаем режим тупого) Код: plsql 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. или нужно аналитику как-то по иному посчитать? (включаем выражение лица гомера симпсона). прости, в subquery factoring и прочих идиоамтических местных конструкциях не силен (подскальзываюсь и падаю лицом в лужу). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 18:36 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopdbpatchтам у него не только сканирование, там еще сортировка-группировка, и CPU cost не так уж и малПоходу таки не хватило мозгов понять решение. Сортировки-группировки это украшательства, которые для нахождения "первой дырки" совсем не нужны. Ну а сравнивать [разные] запросы на основании CPU cost это даже не смешно. Жду тебя в других темах, это было увлекательно. не надо меня ждать, давай лучше, со своей-то крутой мозгой-то, продемонстрируй зе бест практисиз солюшин. смогешь-то, или мозга сильно крутая, не на такие задачи заточенная? (извини, что говорю твоими эпатажами про качество чужих мозгов, ничего личного конечно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 18:38 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopНу а сравнивать [разные] запросы на основании CPU cost это даже не смешно. Жду тебя в других темах, это было увлекательно. ну почему не смешно? мне вот explain plan продемонстрировал cpu cost 23 и 3 соотвественно, очень близко к полученным практическим замерам (прости, режим тупого еще не выключен) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 18:45 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Имхо, вариант Код: plsql 1. 2. 3. Достаточно надежный, да и обычно такая операция проводиться единоразово, так что гнаться за перформансом нет особого смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 18:56 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatchне надо меня ждать, давай лучше, со своей-то крутой мозгой-то, продемонстрируй зе бест практисиз солюшин dbms_photoshopВсе-таки, в случае window buffer + stopkey индекс вычитывается целиком, так что при стремлении к совершенству может понадобится логику со сравнением надо вынести в PL/SQL Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Ты выкинул обращение к таблице из генератора, так что при крупных айдишниках будет полная жопа. Кроме того, чем дальше пропуск от начала тем сильнее будет проигрывать PL/SQL подходу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 19:12 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
это называется найди 10 отличий.... dbpatch Код: plsql 1. 2. 3. 4. 5. 6. и dbpatch Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. умилил .... SELECT LEVEL ID FROM DUAL CONNECT BY 1=1, типа никто не догадается про мелкую халтурку)) так то ты код пишешь прозрачно и понятно?) а еще lead в моем примере не для этого использован)) а то как в том анекдоте про верблюдицу и генерала)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 19:15 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, блин я думал ты домой уже идёшь.. думал до завтра еще можно издеваться над отсутствием мозга.. тем более он так подставляется.. ну зачем.. зачем ты ему показал... он же щяз опять начнёт отмазки искать.. говорить что нельзя pl\sql использовать. курсоры.. нельзя айяйяй... и вообще мы все только что школу окончили один он великий уже написал стомильярдов строк говнокода в продакшне))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 19:18 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vint, dbms_photoshop девочки, не ссорьтесь (с) критиковать сможет любой идиот. покажите как надо делать, с замерами в сравнении, все замерли в нетерпении и прочем трепете, в ожидании нетупого решения. или нетупого решения не будет? и да, кто сказал в задаче, что нам нужно искать дырки в диапазоне от 1 до 10^10? сможете привести хоть один пример задачи из реальной жизни, где нужно подобное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 19:21 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopdbpatchне надо меня ждать, давай лучше, со своей-то крутой мозгой-то, продемонстрируй зе бест практисиз солюшин dbms_photoshopВсе-таки, в случае window buffer + stopkey индекс вычитывается целиком, так что при стремлении к совершенству может понадобится логику со сравнением надо вынести в PL/SQL Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Ты выкинул обращение к таблице из генератора, так что при крупных айдишниках будет полная жопа. Кроме того, чем дальше пропуск от начала тем сильнее будет проигрывать PL/SQL подходу. и в чем суть откровения? я это-же решение озвучивал парой постов выше 20145994 (но я конечно сильно тупой, как мы уже выяснили, чтоб ты не смог его увидеть). в задаче это отметается, клиент не хочет курсоры и PL/SQL я использовал PL/SQL в сравнениях просто для генерации цикла с целью замеров, в самом поиске "дырки" он не участвует (прости, что я это поясняю, а то может я двух слов связать не смогу достаточно понятно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 19:26 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatchVint, dbms_photoshop девочки, не ссорьтесь (с) критиковать сможет любой идиот. покажите как надо делать, с замерами в сравнении, все замерли в нетерпении и прочем трепете, в ожидании нетупого решения. или нетупого решения не будет? и да, кто сказал в задаче, что нам нужно искать дырки в диапазоне от 1 до 10^10? сможете привести хоть один пример задачи из реальной жизни, где нужно подобное?Мальчик, ты можешь вещать про статические справочники ... бизнес-факты ... номеров телефонов ... кредитных картТы можешь менять свой запрос, создавать индексы, выдумывать ограничения на входные данные и корректировки к постановке. При некоторых условиях, учитывая все модификации твой запрос может нормально смотреться, да. Но уровень общения больше подходит для ПТ. Код: plsql 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. Vintdbms_photoshop, блин я думал ты домой уже идёшь.. У меня только 16:30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 19:31 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintумилил .... SELECT LEVEL ID FROM DUAL CONNECT BY 1=1, типа никто не догадается про мелкую халтурку)) так то ты код пишешь прозрачно и понятно?) а еще lead в моем примере не для этого использован)) а то как в том анекдоте про верблюдицу и генерала)) я рад, что тебе понравилось. в реальном продукционном коде вызыватель всегда указывает верхнюю (и нижнюю) границу, что эквивалентно по вычислительной стоимости 1=1 (нет нужды ходить читать что-то там для ограничения connect by). или да, с какого перепугу вообще нужно ходить читать max в таблицу чтоб увидеть верхний предел диапазона? расскажешь нам, о великий неговнокодер, у которого мозг не осуствует? :):):) в изначальном примере я его вкрутил просто чтоб не взорвать никому фетч, не более того. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 19:33 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopdbpatchVint, dbms_photoshop девочки, не ссорьтесь (с) критиковать сможет любой идиот. покажите как надо делать, с замерами в сравнении, все замерли в нетерпении и прочем трепете, в ожидании нетупого решения. или нетупого решения не будет? и да, кто сказал в задаче, что нам нужно искать дырки в диапазоне от 1 до 10^10? сможете привести хоть один пример задачи из реальной жизни, где нужно подобное?Мальчик, ты можешь вещать про статические справочники ... бизнес-факты ... номеров телефонов ... кредитных картТы можешь менять свой запрос, создавать индексы, выдумывать ограничения на входные данные и корректировки к постановке. При некоторых условиях, учитывая все модификации твой запрос может нормально смотреться, да. Но уровень общения больше подходит для ПТ. Код: plsql 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. Vintdbms_photoshop, блин я думал ты домой уже идёшь.. У меня только 16:30. это был пример нетупого решения? тебе уже пятый раз говорят, что нельзя использовать PL/SQL для поиска значения дырки. это что, так сложно понять? а "стиль" общения ты задал сам, начав заливать про тупых, я просто общаюсь с тобой привычными тебе терминами. как иначе нужно? тебе уже шестой раз говорят, что нельзя через PL/SQL, ты не в состоянии это услышать и кто виноват теперь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 19:37 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, ты уж определись, то ли тебе продашн решения то ли тебе первое попавшееся значение, а то ли "в реальном продукционном коде вызыватель всегда указывает верхнюю (и нижнюю) границу" ее же как то надо вычислить.. вот и потрудись вычислить ее 10000 раз как у тебя в примере и описано). иначе будь добр взять моё решение и вывести ВСЕ дырки 10 тысяч раз. и вывести все дырки в своем решении так же 10 тысяч раз, а не юлить как уж на сковородке))) ты в очередной раз показываешь уровень мастерства)) кстати может ты родственник мастера зива?) он тож так умеет)) если уж ты начал заливать за продакшн решения, так признай что в продакшне использовано будет что угодно. для достижения максимального результата. признай что ты унылое Г, изначально не осознавшее задачу и утрись)) dbms_photoshop, ну насчет времени это был сарказм) я помню про разницу с европой)) может не точно.. но помню) видишь. как я и говорил пошли отмазки по попводу того что нельзя использовать pl\sql, при этом почему то сразу можно знать максимальное и минимальное значение....))) странно правда что задается 1, а не хотя бы пару миллиардов в максе.. как и бывает в продуктивных решениях)) а еще лучше вычисляется. чтобы точно не ошибится, и не скакнуть выше сиквенса)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 19:59 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, ты уж определись, то ли тебе продашн решения то ли тебе первое попавшееся значение, а то ли "в реальном продукционном коде вызыватель всегда указывает верхнюю (и нижнюю) границу" ее же как то надо вычислить.. вот и потрудись вычислить ее 10000 раз как у тебя в примере и описано). иначе будь добр взять моё решение и вывести ВСЕ дырки 10 тысяч раз. и вывести все дырки в своем решении так же 10 тысяч раз, а не юлить как уж на сковородке))) ты в очередной раз показываешь уровень мастерства)) кстати может ты родственник мастера зива?) он тож так умеет)) если уж ты начал заливать за продакшн решения, так признай что в продакшне использовано будет что угодно. для достижения максимального результата. признай что ты унылое Г, изначально не осознавшее задачу и утрись)) я вполне признал твоё решение, оно действительно умеет делать ВСЁ тобой озвученное, ибо да, ты похоже невероятно крутой специалист и уже признанный местный авторитет... что-то еще нужно сейчас признать? огласи весь список пожеланий :) но практические замеры ты нам покажешь, или ты сам не в состоянии скопипастить, все еще нужна моя помощь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 20:26 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, что именно тебе практически показать? 0.25 секунд на том решении что тебе фотошоп показал?) или опять будешь ныть что PL\SQL нечестно? зато быстро)) ты бы лучше сходил померял своё решение при вычислении макс и мин значений)) правда измерялка сломается раньше)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 20:46 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, что именно тебе практически показать? 0.25 секунд на том решении что тебе фотошоп показал?) или опять будешь ныть что PL\SQL нечестно? зато быстро)) ты бы лучше сходил померял своё решение при вычислении макс и мин значений)) правда измерялка сломается раньше)) с "решением" фотошопа мы уже разобрались. с "нытьем" вы оба можете пройти вот сюда: 20143239 , во фразу "Курсоры не предлагать желательно", поныть там. сейчас твой шанс показать свой мастеркласс, в сравнении, естественно, вон с теми твоими lead, +1 -1 и прочими group by изяществами против предложенного мной connect by not exists итак? мы увидим показательное выступление гуру, или просто сразу тебе выдадим медаль рекордсмена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 21:00 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatch, идиот. клинический))) ты в упор не видишь решения задачи. это ты за уши притянул нахождение первого пропущенного элемента последовательности. при этом не вычисляешь максимум и минимум а береш просто 1. тупо 1.... а если в таблице будет идиентификатор с номером 1? что делать будешь?) опять говорить что вырожденный случай? это ты решаешь непонятную задачу непонятно каким способом при этом всех вокруг пытаешся убедить что только твое решение является 100% правильным)) а все lead group by и конкатенации в моем изначальном решении только для того чтобы показать ВСЕ отсутствующие интервалы в таблице. я бисер перед ничтожеством метать не намерен)) хватит того что я тебя развел на измерения в которых ты в очередной раз сфейлился, и не смог измерить своё же решение с первой странице.. а все почему? да потому что производительность того решения на пару порядков проигрывает твоему же надуманному решению с lead)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 21:13 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Vintdbpatch, идиот. клинический))) ты в упор не видишь решения задачи. я не вижу ни одного примера сравнения в твоем исполнении. я бы не сказал, что это пример идиотии, скорее пример эдакой импотенции. не знаю, насколько в данном случае клинической. остальные твои словосотрясания скипнуты, не интересно. или примеры сравнений в студию, или окончательно зачитываем тебе слив с занесением в профиль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 21:16 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Вообще конечно удивляешься, насколько тупыми могут быть даже собственные решения. Смотрим третий (последний) вариант ответа и время реакции. lead, with, connect by, pl/sql или нет, мда, вот уж действительно, если мозг от супернедознаний сильно жмет, и не такого вкопипасишь порой. Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 13:04 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbpatchВообще конечно удивляешься, насколько тупыми могут быть даже собственные решения. Код: plsql 1. 2. 3. особенно зная как работает ROWNUM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 13:28 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
123ййdbpatchВообще конечно удивляешься, насколько тупыми могут быть даже собственные решения. Код: plsql 1. 2. 3. особенно зная как работает ROWNUM и? с какой радости ты убрал subquery? и как он работает в этом случае? я надаюсь часть про pagination в расказах Тома ты уже осилил? http://www.oracle.com/technetwork/issue-archive/2006/06-sep/o56asktom-086197.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 13:47 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
123йй Код: plsql 1. 2. 3. особенно зная как работает ROWNUMмагия индекса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 14:01 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
-2-, thx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 14:02 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Модератор: dbpatch, рекомендую недельку не появляться на форуме, остыть и, заодно, попытаться понять все то, что было предложено в топике. Неделя бана. Время пошло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 14:23 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Че, правда? Очень интересно Грекс, конечно, слегка передергивает (немного не тот код от Vint, начинает с заведомо отсутствующего ID в своем решении, что дает неверный результат, но сразу и т.д. и т.п.), но он по крайней мере приводит решения и сравнения. А его не поправляют, а только высокомерно "пытаются" словить лулзы, поскольку таки лулзы ловит таки он А по поводу стиля общения -- на фоне остальных он не сильно выделяется Я так понимаю, AI сам тему даже не читал? Но осудил Знакомо, че уж там... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 14:37 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровЧе, правда? Очень интересно Грекс, конечно, слегка передергивает (немного не тот код от Vint, начинает с заведомо отсутствующего ID в своем решении, что дает неверный результат, но сразу и т.д. и т.п.), но он по крайней мере приводит решения и сравнения. А его не поправляют, а только высокомерно "пытаются" словить лулзы, поскольку таки лулзы ловит таки он А по поводу стиля общения -- на фоне остальных он не сильно выделяется Я так понимаю, AI сам тему даже не читал? Но осудил Знакомо, че уж там...Во-первых, это не грекс, а какое-то юное дарование. Во-вторых, это по-твоему тоже конструктив 20146383 ? Может ты еще и покажешь где я его называл тупым? В-третьих лулзы ловить может кто угодно, особенно если находиться под веществами, только положение дел это не меняет. Если б ты читал внимательнее, то обратил бы внимание, что в споем последнем "решении" персонаж кроме неправильного использования rownum еще сделал очередное предположение, что диапазон начинается с 1. Просто уже не было желания комментировать учитывая реакцию болезного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 14:51 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, Как говорится "do not make conclusions based on assumptions". Подумай над этим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 14:54 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopВо-первых, это не грекс, а какое-то юное дарование.А по моему, очень похож И по стилю и по знаниям (ну или верхушкам, кому как удобнее) dbms_photoshopВо-вторых, это по-твоему тоже конструктив 20146383 ? Может ты еще и покажешь где я его называл тупым?Даже только по ссылке сразу вижу снисходительное "мальчик". Это не "тупой", но не очень далеко Давай тогда начнем комментировать всю ветку начиная с первого "обидного" обращения dbms_photoshopВ-третьих лулзы ловить может кто угодно, особенно если находиться под веществами, только положение дел это не меняет.Это какие-то фантазии, явно "под веществами" dbms_photoshopЕсли б ты читал внимательнее, то обратил бы внимание, что в споем последнем "решении" персонаж кроме неправильного использования rownum еще сделал очередное предположение, что диапазон начинается с 1. Просто уже не было желания комментировать учитывая реакцию болезного.Если бы ты читал внимательней, то увидел бы, что на это я специально обратил внимание Но если даже начинать не с 1, а с минимального, то его код все равно выигрывает (как уже и говорилось, вроде даже тобой, аналитика все равно требует всего промотра и ее нельзя прервать по STOPKEY) по скорости, единственное -- он требует много больше PGA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 15:09 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 15:23 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Слава, его код выигрывает при решении какой задачи? У ТС в исходном сообщении не было явно указано, нужен ли первый пропуск или нужны все пропущенные. Жертве abortа ТС ответил, что решает задачу пропуска файлов по нарастающему идентификатору в имени. Предположу, что его интересует не первый фетч, а полная выборка пропусков. Также предположу, что в этом вырожденном случае дешевле сгенерировать полный список от min до max и просто вычесть множество поступивших из множества возможных значений (либо вычитанием, либо внешним соединением с фильтром). Вплоть до того, что ТС вполне может регулярно фиксировать точку относительно которой у него пропуски отсутствуют, что уменьшает пересекаемые диапазоны. Т.е. здесь и близко не идёт речи о универсальном определении непрерывного номера документа в многопользовательской среде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 15:27 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
А про универсальность и речи не было Он специально подчеркнул про первую дырку (да и вообще про применимость таких задач -- когда там числа с 10 нулями вряд ли эти дырки кого волнуют) и именно это и показывал (хоть и не совсем правильно, с 1 начинал) в своих тестах И кстати, первым в ветке сказал, что PL/SQL здесь предпочтительней, но по условию задачи нежелателен Читал все еще вчера, могу и перепутать, а перечитывать лениво И даже ты говоришь про генерацию номеров и MINUS, а dbpatch именно оспаривал: -- решение с аналитикой -- сам подход, что это единственное правильное решение и именно его ожидает Vint на собеседовании И еще, главное: многие из нас здесь довольно грубоваты в общении, но при том и не обижаемся на ответную грубость. И что-то мне подсказывает, что модератор вмешался по подсказке, и подсказку ему дал не Грекс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 15:42 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, Мальчик было ответ на девочки. По-моему довольно симметрично. Можно анализировать с начала, но имхо конструктивный диалог невозможен. Мне больше напомнил этого 5232858 , хотя очевидно не он, за 9 лет что-то должно было поменяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 15:55 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудровкогда там числа с 10 нулями вряд ли эти дырки кого волнуют Если речь о непрерывном номере для определения пропуска файлов с данными, то критичен любой пропуск - как факт потери данных. А уж если счёт идентификатора пошёл на 10 нулей, то данные скорее всего критичны. Решение с аналитикой позволяет получить диапазон пропусков, поэтому я и пишу, что ТС явно не указал - нужны ли ему все пропуски или только первый. Технически, если нет многопоточности, то ТС может останавливать обработку "следующего" файла, если номер отличается от предыдущего более чем на 1. Если многопоточность есть в рамках пачки файлов, но данные не зависимы, то решение будет так или иначе упираться в знание о "успешной" нижней границе и нумерации в поступившей пачке. И диапазоны здесь будут не такими уж большими, кмк. И в этом случае, критичный пропуск - последний номер в предыдущей пачке, т.к. его нельзя определить до поступления следующей пачки, что влияет на "успешную" нижнюю границу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 15:57 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров...Давай еще вспомним, что наличие индекса никто не обещал и вся интеллектуальная дискуссия не имеет смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 15:58 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровИ еще, главное: многие из нас здесь довольно грубоваты в общении, но при том и не обижаемся на ответную грубость. Что есть, то есть. Но как тут удержаться, когда "в интернете снова кто-то не прав" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 16:02 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopВячеслав Любомудров...Давай еще вспомним, что наличие индекса никто не обещал и вся интеллектуальная дискуссия не имеет смысла.Дык я же не против дискуссии Я сам с удовольствием за ней следил Я против такого "одностороннего" вмешательства модератора -- не разобравшись, давай шашкой махать А тут остались такие "носороги" которым "мальчик"/"девочка" что слону дробина Но нет, обязательно надо это прекратить Как же, непарламентские выражения, надо прекратить. Кого бы избрать "козлом отпущения"? Вот тут есть подозрение, что поступали какие-то звоночки... Прекрасно, дискуссия закончена, продолжаем сонно дремать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 16:14 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopВячеслав Любомудров, Мальчик было ответ на девочки. По-моему довольно симметрично. Можно анализировать с начала, но имхо конструктивный диалог невозможен. Мне больше напомнил этого 5232858 , хотя очевидно не он, за 9 лет что-то должно было поменяться.Все-таки я больше склоняюсь к Грексу/nolocky/техничкину ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 16:17 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, "Ваш профиль был отключен администрацией форума. Данная функциональность недоступна." - и так уже пару лет если мне не изменяет память, так что пожаловаться физически не могу...)) да я был груб. и если честно не вполне понимаю зачем его забанили, я заслужил имхо больше) но я как то с этим проживу) На собеседовании есть вполне конкретная задача с граничными значениями, но сагрился я на фразу "Собеседование? О господи. Кого вы там собеседуете?", а потом уже развлекался. и оспаривал он не аналитику, аналитика в том решении исключительно для красивостей, а он неразобрался что там почем. опять же все решали разные задачи. жаль что фотошоп раньше времени выдал нахождение первой попавшейся дырки, но я ожидаемо угадал реакцию, типа "pl\sql нельзя"....)) хотя тема давно уже вышла за рамки что можно и нельзя. был разговор исключительно за продакшн решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 17:30 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
А, получал такую же по T-SQL на собеседовании. Пришлось задуматься, хотел ли собеседующий увидеть это Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. или же отсортированные джойны двух таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 18:10 |
|
||
|
как определить отсутствующий элемент в последовательности
|
|||
|---|---|---|---|
|
#18+
Piper Perri, в зависимости что надо получить (они разные задачи решали) напр на таких данных select cast('1' as int) n into #xx union all select cast('2' as int) union all select cast('5' as int) union all select cast('6' as int) union all select cast('9' as int) ps насчет продакшен, все зависит от рельной задачи напр у меня софт требовал номера кассиров строго две цифры быстро дошли до 99 дальше искали дырку работа почти в монопольном режиме (прием на работу) обьем выботки < 100 строк зыы все-таки не удержался .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 18:27 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1886574]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
184ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 549ms |

| 0 / 0 |
