Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Вниз

план выполнения запроса. индексы   Найти похожие ветки 

 
DSKalugin ©   (2004-11-08 17:10) [0]

Кто может объяснить такие понятия как
План выполнения запроса и адаптированный план
я пишу у себя запрос

SELECT
"sklad"."cod",
"detail_number_book"."cod" as "dnb",
"detail_number_book"."dn_number",
"detail_maker_book"."dm_name",
"sklad"."sklad_number",
"detail_sellers_book"."ds_name",
"sklad"."src_price",
...
FROM "sklad"
inner JOIN "detail_number_book" ON
("sklad"."detail_number" = "detail_number_book"."cod")
inner JOIN "detail_maker_book" ON
("detail_number_book"."dn_maker" = "detail_maker_book"."cod")
inner JOIN "detail_sellers_book" ON
("sklad"."seller_name" = "detail_sellers_book"."cod")

WHERE ("dm_name"="NoName_36")and("dn_number" like "C%")and("ds_name"="Inter Cars")


1-есть ли разница в последовательности перечисления условий фильтрации (WHERE)?

2-какими лучше создавать индексы одиночные или составные в данном случае с точки зрения скорости выполнения запроса?
Ну скажем есть составной первичный
ALTER TABLE "detail_number_book" ADD CONSTRAINT "PK_detail_number_book" PRIMARY KEY ("dn_number", "dn_maker");

и одиночные на эти же поля

CREATE INDEX "detail_number_book_IDX2" ON "detail_number_book" ("dn_number");
CREATE INDEX "detail_number_book_IDX4" ON "detail_number_book" ("dn_maker");


 
сергей1   (2004-11-08 18:07) [1]

1. нет

2. несколько полей имеет смысл включать в индекс для того, чтобы сделать его покрывающим. т.е. тогда, когда в индексе есть все поля из запроса, в результате серверу не надо будет обращаться к таблицам напрямую, т.к. вся необходимая информация уже есть в индексе.
Только с этим аккуратней надо быть, а то, переборщив с индексами, производительность только упадет


 
vv_fran   (2004-11-09 08:28) [2]

А план нужен для убыстения/правильной работы SELECT, иногда сервер начинает выборку с самой большой таблицы и выполнение затягивается на минуты, а надо с самой маленькой (типа справочника). Пишится в такой последовательности:
SELECT
FROM  
WHERE  
PLAN SORT (JOIN (NF NATURAL,CA INDEX (RDB$PRIMARY10)))
ORDER BY

По идее тут его надо поменять - сначала сортируем по таблице CA - это справочник, затем по NF - основная таблица. Хорошо тренироваться в IBExpert.


 
Johnmen ©   (2004-11-09 09:13) [3]

1. Есть.
2. Заависит от конкретных потребностей.


 
DSKalugin ©   (2004-11-09 11:34) [4]

А где об этом в нете можно почитать?


 
Johnmen ©   (2004-11-09 11:50) [5]

ibase.ru вестимо...



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

Форум: "Базы";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.035 c
14-1100658752
uses-mind.dll
2004-11-17 05:32
2004.12.05
нужен русский хелп для дэльфи 6, встраиваемый в среду .


8-1094201150
1
2004-09-03 12:45
2004.12.05
Как сделать линии/прямые сглаженными ?


3-1099669249
denis24
2004-11-05 18:40
2004.12.05
qrdbtext.wordwrap


4-1098344748
Klopan
2004-10-21 11:45
2004.12.05
Реестр


14-1099934080
ИМХО
2004-11-08 20:14
2004.12.05
Вопрос тем, кто юзает ноутбуки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский