ďťż
 
[informix] Optymalizacja zapytania ďťż
 
[informix] Optymalizacja zapytania
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[informix] Optymalizacja zapytania



BJ - 28-06-2006 00:08
[informix] Optymalizacja zapytania
  Cześć.

Mam bazę informixa 7.23 a w niej tabelę która ma 123 mln rekordów.

Zapytanie:

Select *
From arch
Where nadawca Like 'XXX%' and adresat not like 'XXX%'
and (data>="01.01.2006" and data<"01.06.2006");

Indeksy są na: nadawca, adresat, (id, data)

Potencjalnie zwracany zbiór moze mieć kilka-klilkanaście milionów rekordów. Z
tego co wiem w tej wersji Informixa nie mozna zobaczyć planu zapytania bez
jego wykonania (może się mylę, ale i tak nie mam praw do wykonania set
explain, a nie jestem administratorem tej bazy)

Pytanie:
czy można zopytmalizować to zapytanie (wykonuje się już klikanaście godzin)?
czy robiony jest full scan tabeli? Czy wykorzystywany jest indeks na dacie i
id (id nie jest pobierane pobierane z zapytaniu)

Pozdrawiam
B

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/





=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 28-06-2006 00:09

  BJ wrote:
> Cześć.
>
> Mam bazę informixa 7.23 a w niej tabelę która ma 123 mln rekordów.
>
> Zapytanie:
>
> Select *
> From arch
> Where nadawca Like 'XXX%' and adresat not like 'XXX%'
> and (data>="01.01.2006" and data<"01.06.2006");
>
> Indeksy są na: nadawca, adresat, (id, data)
>
> Potencjalnie zwracany zbiór moze mieć kilka-klilkanaście milionów rekordów. Z
> tego co wiem w tej wersji Informixa nie mozna zobaczyć planu zapytania bez
> jego wykonania (może się mylę, ale i tak nie mam praw do wykonania set
> explain, a nie jestem administratorem tej bazy)
>
> Pytanie:
> czy można zopytmalizować to zapytanie (wykonuje się już klikanaście godzin)?
> czy robiony jest full scan tabeli? Czy wykorzystywany jest indeks na dacie i
> id (id nie jest pobierane pobierane z zapytaniu)

Nie znam się na informixie, ale mogę powiedzieć, że na pewno index
(id,data) nie jest wykorzystywany. Może być wykorzystywany index na
nadawca, ale czy jest, zależy od tego jaki procent tabeli obejmuje
warunek nadawca like 'XXX%'.
Poprawę możesz uzyskać zakładając indeks (data,nadawca) ewentualnie
(nadawca,data).

--
P.M.




Migat - 28-06-2006 00:09

  BJ wrote:
> Select *
> From arch
> Where nadawca Like 'XXX%' and adresat not like 'XXX%'
> and (data>="01.01.2006" and data<"01.06.2006");
> czy można zopytmalizować to zapytanie (wykonuje się już klikanaście godzin)?
> czy robiony jest full scan tabeli? Czy wykorzystywany jest indeks na dacie i
> id (id nie jest pobierane pobierane z zapytaniu)

Jezeli moge cos podpowiedziec to ja bym sie do tego zabral w taki
sposob, ze ograniczylbym zestaw rekodow, kopiujac je np. do nowej
tymczasowej tabeli. Poniewaz przeszukieanie po dacie jest szybsze niz
po varcharze to najpierw zrobil bym tabele z rekordami spelniajacymi
warunek data>="01.01.2006" and data<"01.06.2006". Przy kopiowaniu
ucialbym tez nadawce do 3 liter (bo z zapytania wynika ze chcesz
odnalezc rekordy, ktore zaczynaja sie na XXX a pozniej dowlne znaki -
wiec interesuja Ci tylko pierwsze trzy litery), no a pozniej bym szukal
juz normalnie bez like czyli WHERE nadawca = 'XXX' and nadawca !=
'XXX'

Pzdr PawelB
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= =?ISO-8859-2?Q?Narz=EAdzie_do_budowania_zapyta=F1_SQL=2C?==?I SO-8859-2?Q?_PL/PgSQL=2C_PL/SQL=2C_T-SQL?= [ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?= phpMyAdmin zadaje =?ISO-8859-2?Q?z=B3e_zapytania=2E=2E=2E_Dl?==?ISO-8859-2?Q?aczego=3F?= [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= [mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?= [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?= [MySQL] Zapytanie z =?ISO-8859-2?Q?dw=F3ch_tabel_na_raz_?==?ISO-8859-2?Q?i_grupowanie_po_wsp=F3lnym_polu=2E_Jak_=3F?= mecze sie i mecze i nic - zapytanie czesciowe
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • morebeer.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com