|
|
|
Чтение не всей выборки
|
|||
|---|---|---|---|
|
#18+
Ситуация: есть условно такая табличка: count 1 3 3 2 5 ... и есть некий параметр, который нужно проверить превышает ли сумма count параметр или нет самое простое естественно сделать в лоб Код: plsql 1. 2. 3. 4. но записей много и хочется оптимизировать, мне нужно читать записи до тех пор пока sum(count) < param_sum_count и как только sum(count) >= param_sum_count, то прекратить читать. Есть еще идея через bulk collect limit 1, но хотелось бы SQL обойтись если это возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2017, 13:21 |
|
||
|
Чтение не всей выборки
|
|||
|---|---|---|---|
|
#18+
Cheese))), Если есть индекс - можно извратиться с rec with, но лучше пачками фетчить из курсора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2017, 13:28 |
|
||
|
Чтение не всей выборки
|
|||
|---|---|---|---|
|
#18+
Есть индекс по полю которому ищу, но не по которому вычисляю. Можно пример с rec with? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2017, 13:29 |
|
||
|
Чтение не всей выборки
|
|||
|---|---|---|---|
|
#18+
Cheese))), Писал тут 20541880 . Часть 2. Глава 1. When PL/SQL is better than Vanilla SQL. Раздел Specifics of analytical functions Подраздел Прерывание выборки. стр. 117 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2017, 13:35 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39535341&tid=1885120]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
192ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 259ms |
| total: | 560ms |

| 0 / 0 |
