|
|
|
Выборка по MAX(ID) без подзапроса
|
|||
|---|---|---|---|
|
#18+
Добрый день! есть запрос Код: plsql 1. 2. 3. 4. 5. 6. каким образом можно осуществить выборку по Код: plsql 1. без подзапроса Код: plsql 1. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2016, 15:51 |
|
||
|
Выборка по MAX(ID) без подзапроса
|
|||
|---|---|---|---|
|
#18+
gister, а чем тебя не устраивает подзапрос?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2016, 15:56 |
|
||
|
Выборка по MAX(ID) без подзапроса
|
|||
|---|---|---|---|
|
#18+
Очень медленно работает, раньше использовал выборку по MAX без подзапроса, но сейчас забыл реализацию. Напомните, пожалуйста, кто знает!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2016, 15:59 |
|
||
|
Выборка по MAX(ID) без подзапроса
|
|||
|---|---|---|---|
|
#18+
gister, А что мешает вынести подзапрос в with + использовать result cache? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2016, 16:06 |
|
||
|
Выборка по MAX(ID) без подзапроса
|
|||
|---|---|---|---|
|
#18+
gister, Ок. Если U_T_* это таблица то как раз таки ID = (MAX(ID)) должно отрабатывать быстрее за счет индекс скана (индекс же есть на ID?). Без подзапроса можно обойтись аналитикой, но в большинстве случаев это не будет быстрее. Код: plsql 1. 2. 3. Вообще смотреть нужно план, на что тратиться время /*+gather_plan_statistics*/. Оптимально он должен выглядеть как индексный доступ в U_T_WAYBILL и NL на exist () подзапрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2016, 16:08 |
|
||
|
Выборка по MAX(ID) без подзапроса
|
|||
|---|---|---|---|
|
#18+
При наличии индекса на id Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2016, 16:55 |
|
||
|
Выборка по MAX(ID) без подзапроса
|
|||
|---|---|---|---|
|
#18+
gisterДобрый день! есть запрос Код: plsql 1. 2. 3. 4. 5. 6. Код: plsql 1. 2. 3. 4. 5. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 14:58 |
|
||
|
Выборка по MAX(ID) без подзапроса
|
|||
|---|---|---|---|
|
#18+
gister, А автор наверное видел запросы с использованием хинта по индексу (а тут у тебя первичный ключ) типа Код: sql 1. тут будет выборка максимальной записи в первичном ключе при условии, что это первое поле в индексе. Но тебе сие не поможет, так как у тебя ID это второе поле индекса по первичному ключу, но чтобы работало быстро и равномерно , то достаточно Код: plsql 1. 2. 3. 4. 5. 6. потому что у тебя табличка проиндексирована по полю DREG! Хотя есть шанс, что проблемы в логике, так как непонятно зачем нужен максимальный ID, но это можно поинтересоваться у Федора З. - нет ли тут ошибки в логике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2018, 18:31 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39376199&tid=1884306]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 382ms |

| 0 / 0 |
