Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.06;
Скачать: CL | DM;

Вниз

Про Plan   Найти похожие ветки 

 
rava ©   (2003-09-16 08:49) [0]

Имеется таблица Saldo. По полю KOD создан индекс.
Как составить PLAN чтобы SELECT использовал индекс ?
Select * From Saldo Where kod=100 Plan ???????


 
Alexandr ©   (2003-09-16 08:57) [1]

он и должен использовать индекс и без твоего плана.


 
rava ©   (2003-09-16 09:14) [2]

> Alexandr

Select KOD From Saldo
Where saldo.NCH = "20202810001938000751" And saldo.DPLT <= "09/11/2003"

Saldo имеет 220000 записей.
Индекс активна.
Но запрос по моему не использует индекс. Что нужно для того чтобы запрос выполнялься быстрее.

Анализ производительности запроса IBManager:
Query Time
------------------------------------------------
Prepare : 47
Execute : 4 390
Avg fetch time: 292,67 ms

Memory
------------------------------------------------
Current: 3 028 937
Max : 3 419 257
Buffers: 2 048

Operations
------------------------------------------------
Read : 16 899
Writes : 4
Fetches: 471 089

Plan:
------------------------------------------------
PLAN (SALDO NATURAL)

Enchanced Info:
+--------------------------+-------+-----------+---------+---------+----------+
| Table Name | Index | Non-Index | Updated | Deleted | Inserted |
| | reads | reads | | | |
+--------------------------+-------+-----------+---------+---------+----------+
| RDB$FIELDS| 4 | 0 | 0 | 0 | 0 |
| RDB$RELATION_FIELDS| 4 | 0 | 0 | 0 | 0 |
| RDB$RELATIONS| 2 | 0 | 0 | 0 | 0 |
| SALDO| 0 | 218 642 | 0 | 0 | 0 |
| RDB$RELATION_CONSTRAINTS| 0 | 20 | 0 | 0 | 0 |
+--------------------------+-------+-----------+---------+---------+----------+


 
Alexandr ©   (2003-09-16 09:20) [3]

индексы покажи.


 
Johnmen ©   (2003-09-16 09:24) [4]

>Что нужно для того чтобы запрос выполнялься быстрее.

Например, иметь индексы по тем полям, которые в WHERE...


 
rava ©   (2003-09-16 09:27) [5]

> Alexandr

CREATE TABLE SALDO (
DPLT DATE,
KOD INTEGER,
NCH CHAR (20) CHARACTER SET WIN1251 COLLATE WIN1251,
SALDO DOUBLE PRECISION);

/* Indices definition */

CREATE DESCENDING INDEX IDX_SALDO ON SALDO (KOD);


 
Alexandr ©   (2003-09-16 09:35) [6]

а по DPLT?


 
Danilka ©   (2003-09-16 09:37) [7]

rava © (16.09.03 09:27)
ему нужны индексы по полям участвующим в секции where, в твоем случае это:
NCH и DPLT


 
rava ©   (2003-09-16 09:56) [8]

Всем спасибо !
Созданием двух индексов по полям NCH и DPLT запрос выполняется 90 раз быстрее.


 
Johnmen ©   (2003-09-16 10:03) [9]

Расплатой за это будет в несколько раз замедленный ввод/удаление данных в таблицу...:)))
Хотя, как правило, это несущественно...



Страницы: 1 вся ветка

Текущий архив: 2003.10.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-18468
zerro_nuz
2003-09-24 11:54
2003.10.06
Помогите как вычесть из даты дату ?


14-18569
Samael6
2003-09-18 15:50
2003.10.06
MSDN


14-18581
lak
2003-09-17 22:44
2003.10.06
file name в графике


1-18307
val_5
2003-09-23 23:02
2003.10.06
RegisterClass(TMyForm)


1-18329
Anatoly P
2003-09-23 18:37
2003.10.06
биты в Integer