powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Помогите по Jquery. Монитор изменений
10 сообщений из 35, страница 2 из 2
Помогите по Jquery. Монитор изменений
    #38884843
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,
это всё догадки. Смотри план выполнения и доказывай, что "не верблюд".
У меня не тормозит пока). Долше рендеринг идёт.
...
Рейтинг: 0 / 0
Помогите по Jquery. Монитор изменений
    #38884874
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Для меня не догадки. Я смотрел планы и время выполнения. Говорю не с пустого места. Лично у меня пагинация происходила и по 10+ секунд. Когда надо выбирать 30+ столбцов из 10+ таблиц.
...
Рейтинг: 0 / 0
Помогите по Jquery. Монитор изменений
    #38884889
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyФильтры фильтрами. А вот запрос выполняется всегда полный, даже если надо вывести первые 15 строк из допустим 1000/10к/50к.
Нет.

Посмотреть, во что превращается запрос из Source региона, можно через отладку. Увидеть его план можно через трассировку. Например, есть интерактивный отчёт с запросом:
Код: plsql
1.
select * from emp


Отчёт выводит по пять строк на страницы, в нём нет скрытых столбцов, группировок, вычисляемых столбцов и прочего. Смотрим в обработанную трассу:
Код: 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.
select 
       apxws_row_pk,
       "EMPNO",
       "ENAME",
       "JOB",
       "MGR",
       "HIREDATE",
       "SAL",
       "COMM",
       "DEPTNO",
       count(*) over () as apxws_row_cnt
 from (
select  * from (select b.ROWID apxws_row_pk, b.* from (select *  from (
select 
"EMPNO",
"ENAME",
"JOB",
"MGR",
"HIREDATE",
"SAL",
"COMM",
"DEPTNO"
 from   "EMP"
) ) b) r
) r where rownum <= to_number(:APXWS_MAX_ROW_CNT) 
 order by apxws_row_pk

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        7      0.00       0.00          0          6          0           7
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        9      0.00       0.00          0          6          0           7

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 92  (TEST)   (recursive depth: 1)

Rows     Execution Plan
-------  ---------------------------------------------------
      0  SELECT STATEMENT   MODE: ALL_ROWS
      0   WINDOW (SORT)
      0    COUNT (STOPKEY)
      0     TABLE ACCESS   MODE: ANALYZED (FULL) OF 'EMP' (TABLE)


План выполнения тезис про полное выполнение запроса из Source опровергает.
...
Рейтинг: 0 / 0
Помогите по Jquery. Монитор изменений
    #38884901
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLer,

Я здесь вижу только ограничение по APXWS_MAX_ROW_CNT, которые обычно равно 1000 или 10000. До таких размеров у меня запросы не доходили. В итоге берутся все строки. Покажите лучше запрос с фильтром.
...
Рейтинг: 0 / 0
Помогите по Jquery. Монитор изменений
    #38884915
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyКогда надо выбирать 30+ столбцов из 10+ таблиц.
Какой-то странный пример против APEX.
В ГУИ проблем не было?
В APEX неудобный ГУИ для стольких столбцов.
...
Рейтинг: 0 / 0
Помогите по Jquery. Монитор изменений
    #38884935
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Пользователь - создание странное. Разумеется они в экран не помещаются. Их крутят по горизонтали. А потом выгружают в эксель и крутят там.
...
Рейтинг: 0 / 0
Помогите по Jquery. Монитор изменений
    #38884964
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,
я думаю, 5-8 колонок будет летать или терпимо.
А простыни на экран, пусть помучаются или берут клиент-сервер-десктоп.
imho
...
Рейтинг: 0 / 0
Помогите по Jquery. Монитор изменений
    #38885812
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyЯ здесь вижу только ограничение по APXWS_MAX_ROW_CNT, которые обычно равно 1000 или 10000. До таких размеров у меня запросы не доходили. В итоге берутся все строки. Покажите лучше запрос с фильтром.
Да, я был неправ, извините. Залез в потроха WWV_FLOW_WORKSHEET, чтобы проверить, как на самом деле идёт вывод конкретной страницы, а там всё печально. Открывают запрос (с фильтрами, сортировкой и прочим) и начинают его фетчить, пока не добираются до p_pg_min_row, после чего выводят строки до p_pg_max_row и закрывают курсор. Такое вот «дубовое» окно, без всяких COUNT STOPKEY в плане и rownum с сортировками в тексте.

С фильтром всё просто:

Код: 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.
  select apxws_row_pk
, "EMPNO"
, "ENAME"
, "JOB"
, "MGR"
, "HIREDATE"
, "SAL"
, "COMM"
, "DEPTNO"
   from
  (select *
     from
    (select b.rowid apxws_row_pk
    , b.*
       from
      (select *
         from
        (select "EMPNO"
        , "ENAME"
        , "JOB"
        , "MGR"
        , "HIREDATE"
        , "SAL"
        , "COMM"
        , "DEPTNO"
           from "EMP"
        )
      ) b
    ) r
    where
    (
      "JOB" = :apxws_expr_1
    )
  ) r
  where rownum <= to_number(:apxws_max_row_cnt)
order by apxws_row_pk 

1. APXWS_EXPR_1=MANAGER
2. APXWS_MAX_ROW_CNT=1000000 


Это уже через APEX_IR.GET_REPORT с автоформатированием кода.
...
Рейтинг: 0 / 0
Помогите по Jquery. Монитор изменений
    #38885914
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

Так только в интерактивных отчетах. В обычных уже норм должно быть, в том смысле, что зависит от выбранного типа пагинации

12-й оракл едва ли существенно поможет, т.к. чтобы выбрать 1000-1050 строки, нужно их все равно все отсортировать, + не забываем что апекс работает по принципу stateless, т.е. в конце каждого запроса сессия oracle сбрасывается и отдается другому клиенту, тем самым экономятся ресурсы сервера.
...
Рейтинг: 0 / 0
Помогите по Jquery. Монитор изменений
    #38886777
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev,

В этом вся проблема, в сортировке. Единственный вариант какой я вижу - это извращенный. Принудительное использование индекса по полю, по которому нужна сортировка, так как в индексе оно уже отсортировано. Тогда уже можно делать выборку 100-150 строк, оно пойдет по отсортированному индексу. Но тогда нужно или куча индексов по всем полям или ограничивать пользователя в свободе выбора сортировки.
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Помогите по Jquery. Монитор изменений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]