powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / Помогите ускорить запрос или таблицу
4 сообщений из 4, страница 1 из 1
Помогите ускорить запрос или таблицу
    #38313224
faid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
существует проблема с выполнением запроса во время выполнения процедуры (запрос выполняется порядка 7 мин - долго), вот запрос и данные по таблице:

Select ssno, approvedby, uaiting, custno, accno, persono, perso2no, f31, f91, g1, reason
From newgames
Where batchno = fxmlbatchno
Or (reason is not null and reason matches ('*/*:*') and reason not matches ('-746/*:*') )

batchno integer
reason varchar(250)
fxmlbatchno значение берется из процедуры
таблица newgames имеет около 300 полей и 500 000 записей, индексов нет на поля batchno и reason
...
Рейтинг: 0 / 0
Помогите ускорить запрос или таблицу
    #38313596
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
faidсуществует проблема с выполнением запроса во время выполнения процедуры (запрос выполняется порядка 7 мин - долго), вот запрос и данные по таблице:

Select ssno, approvedby, uaiting, custno, accno, persono, perso2no, f31, f91, g1, reason
From newgames
Where batchno = fxmlbatchno
Or (reason is not null and reason matches ('*/*:*') and reason not matches ('-746/*:*') )

batchno integer
reason varchar(250)
fxmlbatchno значение берется из процедуры
таблица newgames имеет около 300 полей и 500 000 записей, индексов нет на поля batchno и reason

Создать индексы:
Код: plsql
1.
2.
create index <index_name> on newgames (batchno) in <space_for_indexes>;
create index <index_name> on newgames (reason) in <space_for_indexes>;



Переписать запрос примерно так:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
Select ssno, approvedby, uaiting, custno, accno, persono, perso2no, f31, f91, g1, reason 
From newgames
Where batchno = fxmlbatchno
union
Select ssno, approvedby, uaiting, custno, accno, persono, perso2no, f31, f91, g1, reason 
From newgames
Where reason is not null and reason matches ('*/*:*') and reason not matches ('-746/*:*')
...
Рейтинг: 0 / 0
Помогите ускорить запрос или таблицу
    #38313901
Ikir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
victor16,

А я бы не стал строить индекс по полю varchar(250). Тем более, когда используется matches ('*/*:*').
...
Рейтинг: 0 / 0
Помогите ускорить запрос или таблицу
    #38314216
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ikirvictor16,

А я бы не стал строить индекс по полю varchar(250). Тем более, когда используется matches ('*/*:*').

Спорить не буду. Надо смотреть план запроса
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Помогите ускорить запрос или таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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