🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi.bazy-danych
Article #70121

Re: Zapytanie Query i czas wykonania

#70121
From: Marcin
Date: Mon, 11 Jun 2007 21:57
31 lines
2309 bytes
Jarosław Zielewski wrote:
> no to przesledz zapytanie i dodaj potrzebne indeksy.
> Jesli to problem to w jakiejs wersji IBExperta jest analiza
> wykonywanego zapytania pokazujaca ilosc odwolan do pol bez indeksow.
> Jesli jest to mala tabela to moze tak sie przytrafic, ze na Paradoxie
> bedzie szybciej. Natomiast w przypadku duzych tabel i dobrze
> ustawionych indeksow na Firebird musi byc szybciej. Trzeba by tez
> sprawdzic czy zrobienie z tego procedury po stronie serwera jeszcze
> dodatkowo nie poprawi wydajnosci. Nie wiem czy to ma sens w Twoim
> rozwiazaniu ale sprawdzic mozna.

Indeksy indeksami, oczywiście warto założyć, ale nie zmieni to
wyraźnie wydajności, bo jeśli chodzi o podzapytania,
to optymalizator FB 1.5 nie jest najmądrzejszy
- często wykonuje podzapytanie dla każdego wiersza w tabeli,
a mógłby tylko raz (pewnie w 2.0 się poprawiło).
W tym wypadku warto zastosować procedurę po stronie
serwera, albo nawet w aplikacji wykonać 2 zapytania:

SELECT STARY_INDEKS FROM UNU_INDEKSY GROUP BY STARY_INDEKS
HAVING count(STARY_INDEKS)>1

zebrać to w string "(1, 432, 534, 53)" (zakładam, że indeks to int)
i podstawić do:

SELECT NAZWA, INDEKS, STARY_INDEKS FROM UNU_INDEKSY WHERE Stary_Indeks
IN (1, 432, 534, 53);

Siekierką ciosane, ale o niebo szybsze niż podzapytanie w FB 1.5.

M.
Technical Details
Message-ID: <f4kgef$91p$1@atlantis.news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <f4kc76$j50$1@inews.gazeta.pl> <769676987.20070611225054@systemy-mobilne.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: Marcin <spam@noaddress.xx>
Newsgroups: pl.comp.lang.delphi.bazy-danych
Subject: Re: Zapytanie Query i czas wykonania
Date: Mon, 11 Jun 2007 23:57:04 +0200
Organization: tp.internet - http://www.tpi.pl/
Lines: 31
Message-ID: <f4kgef$91p$1@atlantis.news.tpi.pl>
References: <f4kc76$j50$1@inews.gazeta.pl> <769676987.20070611225054@systemy-mobilne.pl>
NNTP-Posting-Host: cgx157.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1181598991 9273 83.30.251.157 (11 Jun 2007 21:56:31 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Mon, 11 Jun 2007 21:56:31 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.0 (Windows/20070326)
In-Reply-To: <769676987.20070611225054@systemy-mobilne.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit