powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Skorost' wypolnenija saprosa
6 сообщений из 6, страница 1 из 1
Skorost' wypolnenija saprosa
    #32176175
Borovoe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Privet wsem!!!
U menja takaja problema:
Est' tabliza:
-- Create table
create table XIMM
(
MM_ID NUMBER(12) not null,
MM_IDNAME VARCHAR2(100) not null,
MM_TYPE NUMBER(4) default 0 not null,
MM_HOST VARCHAR2(24) default 'localhost' not null,
MM_DIR VARCHAR2(200) not null,
MM_NAME VARCHAR2(100) not null,
MM_KEYIDX NUMBER(8) default 1,
MM_FILEDATE DATE default SYSDATE not null,
MM_FILEFORMAT VARCHAR2(6),
MM_FILESTAT CHAR(1),
MM_INSDATE DATE default SYSDATE,
MM_MODDATE DATE default SYSDATE,
MM_USER VARCHAR2(30) default USER,
MM_SIZE NUMBER(12) default 0,
MM_SUPPLIER VARCHAR2(24)
)
tablespace MM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 23920K
next 1M
minextents 1
maxextents 249
pctincrease 0
);
-- Create/Recreate primary, unique and foreign key constraints
alter table XIMM
add constraint XIMM_P1 primary key (MM_ID)
using index
tablespace MMIDX
pctfree 5
initrans 2
maxtrans 255
storage
(
initial 3620K
next 2304K
minextents 1
maxextents 249
pctincrease 50
);
alter table XIMM
add constraint XIMM_U1 unique (MM_HOST,MM_DIR,MM_NAME,MM_KEYIDX)
using index
tablespace MMIDX
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 25820K
next 13124K
minextents 1
maxextents 249
pctincrease 50
);
alter table XIMM
add constraint XIMM_R1 foreign key (MM_ID)
references MMID (MM_ID) on delete cascade;

Delaju sapros:
SELECT mm_id, mm_dir FROM XIMM
WHERE mm_idname = 'datname'
AND SUBSTR(mm_dir, INSTR(mm_dir, '\', -1) + 1) = UPPER(RTRIM('rol_nr', ' '));

Po mere sapolnenija tablizy sil'no uwelichiwaetsja wremja wypolnenijy saprosa (nachinaja so 150000 sapisey w XIMM).


Podskagite pogaluysta, chto mogno sdelat', chtoby sapros wypolnjalsja bystree.
Ja rabotaju na Oracle 8.1.6.0.0 pod Win 2000 Server.

Saranee spasibo!
...
Рейтинг: 0 / 0
Skorost' wypolnenija saprosa
    #32176194
AndrewS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно создать индексы для атрибутов, используемых в условии WHERE.
...
Рейтинг: 0 / 0
Skorost' wypolnenija saprosa
    #32176230
Borovoe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Spasibo, poprobuju!!
...
Рейтинг: 0 / 0
Skorost' wypolnenija saprosa
    #32176241
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Your row's size ~ 554 Byte.
"Zamedlenie" nachinaya ~ 83 MByte.

A. alter table XIMM
add constraint XIMM_01 unique (MM_IDNAME,MM_ID);


SELECT /*+ Index(XIMM, XIMM_01) */ mm_id, mm_dir FROM XIMM
WHERE mm_idname = 'datname'
AND SUBSTR(mm_dir, INSTR(mm_dir, '\', -1) + 1) = UPPER(RTRIM('rol_nr', ' '))

Index Range Scan::

B. XIMM_U1 ::pctincrease 50(?!)
...
Рейтинг: 0 / 0
Skorost' wypolnenija saprosa
    #32176784
Chira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавь колонку (sub_mm_dir) в которую будешь записывать значение при insert:
SUBSTR(mm_dir, INSTR(mm_dir, '\', -1) + 1)
Код:
1.
2.
3.
4.
5.
CREATE INDEX XIMM_I02 ON XIMM (mm_idname,sub_mm_dir)

SELECT /*+ Index(XIMM XIMM_I02) */ mm_id, mm_dir FROM XIMM 
WHERE mm_idname = 'datname' 
AND sub_mm_dir = UPPER(RTRIM('rol_nr', ' ')) 


Не про селект:
проверь как у тебя растет NEXT EXTENT при pctincrease 50

тебе точно нужна такая уникальность
MM_HOST VARCHAR2(24),MM_DIR VARCHAR2(200),MM_NAME VARCHAR2(100),MM_KEYIDX NUMBER(8)
max длина 24+200+100+8=332?
insert не тормозит?
...
Рейтинг: 0 / 0
Skorost' wypolnenija saprosa
    #32176880
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Добавь колонку (sub_mm_dir) в которую будешь записывать значение при
>insert:

для этого в Оракле существуют function-based индексы.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Skorost' wypolnenija saprosa
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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