|
Следующая запись
|
|||
---|---|---|---|
#18+
Здравствуйте. Имеется таблица. 2 млн записей. PeopleId, date…. Собственно надо для каждой записи по человеку найти следующую. Сделал подзапросом с first- ушло в кому. В результате надо посчитать для каждой записи по челу временной интервал до следующей записи Мож кто что подскажет. Индексы все в наличии Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 13:29 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
Swv, Покажи запрос и план ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 13:31 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
Swv, покажи сам запрос и план. А ещё версию Firebird ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 13:40 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
индекс по orders_all_ext_78_id,datee FB 2.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 14:15 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
план еще нужен. скорее всего по дате индекс DESC нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 14:18 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
Swvиндекс по orders_all_ext_78_id,datee В подзапрос надо добавить ORDER BY orders_all_ext_78_id,datee. Иначе он не просто будет медленным, но и вообще вернёт чушь. Проследить, что его план стал ORDER. Derived table тут совершенно ни к чему. Особенно с first без order. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 14:25 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, order by добавил. план такой Plan PLAN (Z ORDER SITE_LOG_RAW_IDX9 INDEX (SITE_LOG_RAW_IDX9)) PLAN (SITE_LOG_RAW NATURAL) первый сто записей выдал через 31 секунду ) индексных чтений 1097376 для первых ста записей подзапрос "перебирает" 128051 записей (это если вместо first count написать - сумма по 100 записям) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 15:40 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
Swvплан такой Неправильный план. Тренируйся на кошках пока не научишься добиваться ORDER. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 15:54 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
Swv, правильно понимаю - если для конкретного человека 10 записей, то надо выдать 9 интервалов, если 100 записей, то 99 интервалов? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 17:03 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
KreatorXXI Swv, правильно понимаю - если для конкретного человека 10 записей, то надо выдать 9 интервалов, если 100 записей, то 99 интервалов? почти. надо на каждую запись выдать или ид или время следующей. последняя запись получается будет с пустым временем следующей записи ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 09:34 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
звучит как задача для рекурсивного CTE ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 10:05 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
sysdba22, скорее оконные функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 11:51 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
kdvскорее оконные функции. Да. Но, учитывая 2.5 и неопытность аффтара - я бы посоветовал ему использовать PSQL. Там эта задача решается "в лоб". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 13:47 |
|
Следующая запись
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov kdvскорее оконные функции. Да. Но, учитывая 2.5 и неопытность аффтара - я бы посоветовал ему использовать PSQL. Там эта задача решается "в лоб". +100500. Swv, пиши хранимку. Всё равно просматривать всю таблицу. Пускай цикл в порядке человек-дата-время и считай. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 13:52 |
|
|
start [/forum/topic.php?fid=40&msg=40112085&tid=1559890]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
144ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 267ms |
0 / 0 |