powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / fetch first rows only
6 сообщений из 6, страница 1 из 1
fetch first rows only
    #40102024
Ferx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, посмотрите пожалйста, является ли код ниже оптимальным для выборки top 7 уникальных периодов ?
Очень долго выполняется. На ms sql c аналогичной таблицей SELECT TOP N намного быстрее выполняется.

select distinct OpenDate
from khd.mgt b

where 1=1
and OpenDate >= add_months(SYSDATE, -1) - За последний месяц
and to_char (OpenDate, ''d'') not in (7, 8)--УБРАЛ ВЫХОДНЫЕ

order by OpenDate desc
fetch first 7 rows only
...
Рейтинг: 0 / 0
fetch first rows only
    #40102089
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ferx
Народ, посмотрите пожалйста, является ли код ниже оптимальным для выборки top 7 уникальных периодов ?
Очень долго выполняется. На ms sql c аналогичной таблицей SELECT TOP N намного быстрее выполняется.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select distinct OpenDate
from khd.mgt b

where 1=1 
and OpenDate >= add_months(SYSDATE, -1)  - За последний месяц
and to_char (OpenDate, ''d'') not in (7, 8)--УБРАЛ ВЫХОДНЫЕ

order by OpenDate desc
fetch  first 7 rows only


Для оформления кода используйте, пожалуйста, тэг SRC.

Эта команда завершится с синтаксической ошибкой.
Приведите текст именно той команды, которую вы выполняете.

Восьмой день недели это из песни The Beatles? :-)

[spoiler] The Beatles - Eight Days A Week
YouTube Video
...
Рейтинг: 0 / 0
fetch first rows only
    #40102099
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс на OpenDate есть? План приведи. Ну и:

Код: plsql
1.
to_char (OpenDate, ''d'') not in (7, 8)



это в какой галактике?

Но даже если исправить 8 на 6 для клиента в Америке уберутся Пятницы и Субботы а для клиента в Омане Четверги и Пятницы. Используй NLS независимый подход.

SY.
...
Рейтинг: 0 / 0
fetch first rows only
    #40102103
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY

это в какой галактике?


октябрский переворот

....
stax
...
Рейтинг: 0 / 0
fetch first rows only
    #40102112
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ferx,

сравните с

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select distinct OpenDate from (
  select 
     OpenDate
    ,DENSE_RANK() OVER ( ORDER BY OpenDate DESC) r
  from khd.mgt b
  where 1=1
    and OpenDate >= add_months(SYSDATE, -1) - За последний месяц
    and to_char (OpenDate, ''d'') not in (7, 8)--УБРАЛ ВЫХОДНЫЕ
  )
where r<7
order by 1



.....
stax
...
Рейтинг: 0 / 0
fetch first rows only
    #40102186
Ferx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax, ваш вариант намного быстрее выполняется. Спасибо большое!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / fetch first rows only
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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