Problem z czasem |
Problem z czasem |
19.08.2005, 12:35:03
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) |
Mam sobie bazke w ORACLE rekordy siedza zaluzmy ze w 5 tabelach ilosci rzedzu kilkustet milionow, w roznych do siebie proporcjach. Zrobilem sobie widok ktory mi robi obliczenia, leczenia itd, nabardziej wykorzystywanym mechanizmem jest ten widok, ktory czasowo jest niezadowalajacy, wykonuje sie kilka sekund. W zaleznosci od warunkow selekcji. Problem z indeksami odpada, wydaje mi sie ze problem jest juz na poziomie zlaczen (relacji).
Wpadlem na takie rozwiazanie aby zrobic tabele keszujaca i do tych tabelek porobic triggery, czasy beda wtedy zadowalajace, ale z tym wiaza sie przerobki. I tak sie zastanawiam czy moze jest jakis inny sposob na przyspieszenie tego mechanizmu. Dodam tylko ze chodzi o drzewo, w ktorym w zaleznosci poziomu i typu ladowane sa poszczegolne dane z tabel. Bardzo bede wdzieczny jak ktos wypowie sie na ten temat, w jaki sposob podejsc do tego problemu. -------------------- |
|
|
5.10.2005, 10:05:29
Post
#2
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 3.10.2004 Ostrzeżenie: (0%) |
A może perspektywa materializowana (CREATE MATERIALIZET VIEW LOG ON ...)?
Dodatkowo pamiętaj o regule 95/5 obowiązującej w Oracle. Jak to nie pomoże może zamień JOIN-y na (+)= i =(+) - bywa że te złączenia działają na Oracle-u szybciej od JOIN-ów (istnieją w nim o wiele dłużej od instrukcji JOIN). Pozdrawiam Marcin Staniszczak |
|
|
5.10.2005, 10:57:37
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) |
Wsumie juz sobie z tym poradzilem po przez zastosowanie triggerow i wpisywania do dodatkowej tabeli. Zapytania do tej tabeli i inne warunki tez sa zadowalające wiec narazie ten temat zostawiam. Jesli przybedzie na tyle rekordow ze to bedzie sprawialo problem odsierze temat.
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 13.06.2024 - 18:10 |