|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Вспомнил. Как то спросили почему канализационные люки круглые. Сритесь, коллеги. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2022, 10:24 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
В БД тормоза в основном из за доп доступа к таблицам, когда это можно избежать. и внутренние команды работают сильно быстрее нежели построчно функции ебашить. MSSQL с 2019 версии частично научился встраивать функции в план запроса без залазиния в каждую строку, но там где это возможно. В твоей функции цикл который оптимизатор не сможет вывернуть в пакет. Ну на джуна базоёба вполне ответил. Джуны 50-150к щас поднимают по зп в неризиновой. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2022, 10:25 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
... и внутренние команды работают сильно быстрее нежели построчно функции ебашить. MSSQL с 2019 версии частично научился встраивать функции в план запроса без залазиния в каждую строку, но там где это возможно. В твоей функции цикл который оптимизатор не сможет вывернуть в пакет. Ну на джуна базоёба вполне ответил. Джуны 50-150к щас поднимают по зп в неризиновой. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2022, 11:14 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
кстати а в скуль сервере разве нет псевдоколонки которая выводит порядковый номер строки? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 11:23 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Так и есть. И я про него. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 14:27 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
"Есть таблица с числами declare @t table (num numeric(39,0)); или даже строка varchar(max) пох. Нужно запросом вывести эту таблицу и доп поле в которой сумма цифр." кстати нет ограничений на создание процедур и функций ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 14:29 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
кстати а в скуль сервере разве нет псевдоколонки которая выводит порядковый номер строки? from dbo.test_table некая альтернатива Код: SQL 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 15:45 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
неее я не про него в оракле есть обычный rownum без оверов ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 15:56 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Но мне этот over не нравится. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 15:58 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Задачка №2. ))))) тоже лвл мидла наверное посложнее предыдущей немного, для тех кто не сталкивался. Есть таблица T из одного поля TAB_NO с уникальными целыми числами, необходимо найти и вывести непрерывные диапазоны одним запросом )))) пример table t(tab_no int) tab_no 1 2 3 7 8 10 15 16 17 18 результат должен быть: start finish
1 3
7 8
10 10
15 18 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 19:23 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Задачка №2. ))))) тоже лвл мидла наверное посложнее предыдущей немного, для тех кто не сталкивался. Есть таблица T из одного поля TAB_NO с уникальными целыми числами, необходимо найти и вывести непрерывные диапазоны одним запросом )))) пример table t(tab_no int) tab_no 1 2 3 7 8 10 15 16 17 18 результат должен быть: start finish
1 3
7 8
10 10
15 18 Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
start
1
7
10
15
finish
3
8
10
18 А как их сделать одной таблицей - хз. Скорее всего, очень просто, но я не знаю всех конструкций SQL.... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 22:42 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Бля, коньяк внезапно кончился. А до скольки спиртное продают? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 22:51 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Папых со своими задачами лишил меня коньяка! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 22:52 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Не, не успеваю. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 22:55 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
У меня сейчас другая задачка, похожая на №2. Есть таблица с datetime, известна периодичность данных, например, 4 секунды плюс-минус 0.1 секунды. Надо найти записи, между которыми период больше заданного и вставить туда строку. А курсоры не хочу юзать. Или тут без курсора никак? ... |
|||
:
Изменено: 09.09.2022, 23:11 - Просто Трёп
Нравится:
Не нравится:
|
|||
09.09.2022, 23:10 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
У меня сейчас другая задачка, похожая на №2. Есть таблица с datetime, известна периодичность данных, например, 4 секунды плюс-минус 0.1 секунды. Надо найти записи, между которыми период больше заданного и вставить туда строку. А курсоры не хочу юзать. Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Смотрю на код мэтров и охуеваю. Что CTE можно использовать рекурсивно, я догадывался, но не думал, что это можно делать так смело на таких объемах. А вот что джойнить можно по битвин для меня реально открытие. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2022, 23:50 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Задачка №2. ))))) тоже лвл мидла наверное посложнее предыдущей немного, для тех кто не сталкивался. Есть таблица T из одного поля TAB_NO с уникальными целыми числами, необходимо найти и вывести непрерывные диапазоны одним запросом )))) пример table t(tab_no int) tab_no 1 2 3 7 8 10 15 16 17 18 результат должен быть: start finish
1 3
7 8
10 10
15 18 Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
start
1
7
10
15
finish
3
8
10
18 А как их сделать одной таблицей - хз. Скорее всего, очень просто, но я не знаю всех конструкций SQL.... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2022, 00:20 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
... Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
start
1
7
10
15
finish
3
8
10
18 А как их сделать одной таблицей - хз. Скорее всего, очень просто, но я не знаю всех конструкций SQL.... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2022, 00:30 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Вот, мое решение. Требования выполнены. Но мне этот роунамбер не нра. Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
1 3
7 8
10 10
15 18 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2022, 00:48 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2022, 00:51 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
У меня сейчас другая задачка, похожая на №2. Есть таблица с datetime, известна периодичность данных, например, 4 секунды плюс-минус 0.1 секунды. Надо найти записи, между которыми период больше заданного и вставить туда строку. А курсоры не хочу юзать. Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Подозреваю, что если джойнить таблицы из разных баз, индексы перестают работать. Ошибаюсь? Или наоборот, те индексы, что я создал в таблице с интервалами, могут мешать отдаче? В cte-то индексов нет. Выкладывать код, или решение на поверхности? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2022, 14:58 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Поудалял индексы с таблицы интервалов, время выполнения уменьшилось с 9 секунд до 3. Чудеса. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2022, 15:04 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
У меня сейчас другая задачка, похожая на №2. Есть таблица с datetime, известна периодичность данных, например, 4 секунды плюс-минус 0.1 секунды. Надо найти записи, между которыми период больше заданного и вставить туда строку. А курсоры не хочу юзать. Код: SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Подозреваю, что если джойнить таблицы из разных баз, индексы перестают работать. Ошибаюсь? Или наоборот, те индексы, что я создал в таблице с интервалами, могут мешать отдаче? В cte-то индексов нет. Выкладывать код, или решение на поверхности? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2022, 15:34 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
Я int столбец добавил, потому что подумал, что по нему группировку лучше будет делать. Теперь понимаю, что он лишний. По дате группировка такая же будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2022, 15:36 |
|
SQL / Задачи с собеседования для базоёбов.
|
|||
---|---|---|---|
#18+
... Подозреваю, что если джойнить таблицы из разных баз, индексы перестают работать. Ошибаюсь? Или наоборот, те индексы, что я создал в таблице с интервалами, могут мешать отдаче? В cte-то индексов нет. Выкладывать код, или решение на поверхности? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2022, 15:36 |
|
|
Start [/forum/search.php?author=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE+%D0%A2%D1%80%D1%91%D0%BF&author_mode=wrote_post&do_search=1&start_from=160854&tid=4320]: |
0ms |
get settings: |
0ms |
get forum list: |
6ms |
searching: |
23ms |
get settings: |
0ms |
get forum list: |
4ms |
get topic data: |
2ms |
check forum access: |
1ms |
check topic access: |
1ms |
get forum data: |
0ms |
get found posts: |
46ms |
track hit: |
33ms |
get online users: |
46ms |
check new: |
1ms |
others: | 281ms |
total: | 444ms |
0 / 0 |