Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%)
|
Mam taki problem. Mam zakupioną aplikację z dużą bazą na Postgresie. Z przyczyn formlano-prawnych nie mogę dokonywać modyfikacji w strukturze bazy. Potrzebuję porównywać czy id w pewnej tabeli (nazwę ją A) występuje w innej tabeli (tą nazwę B) znajdującej się w innej bazie danych w obrębie tego samego Postgresa. Z tego co się orientuję nie da się joinować tabeli z innej bazy. Tabela B ma około 5000 rekordów i nie są w niej NIGDY dokonywane żadne modyfikacje, podczas gdy w A śr 200 modyfikacji dziennie (w interesującej mnie kwestii i wyniki tych zmian potrzebuję mieć na bieżąco w aplikacji). Tak naprawdę wystarczy mi porównanie czy identyfikator uzyskiwany z bazy A występuje w bazie B (resztę kolumn mogę pominąć). Porównanie to ma odbywać się na potrzeby skryptów php wspomagających działanie pracowników instytucji dostępnych przez www (wynik przedstawiany jest w table z wartością ostatniej kolumny zależną od wystąpienia indeksu w B) . Jak mogę to obejść nie obniżając zbytnio wydajności skryptu.
Pomysły jakie mam: drugi wskaźnik połączenia i po uzyskaniu id z A zapytanie do B(wynik zapytania A zwraca od 1 do 10 rekordów, a dla każdego z nich id jest różne więc może wystąpić do 10 osobnych zapytań do B) . Drugi pomysł zapisanie wszystkich id z tabeli B w pliku tekstowym i skanowanie pliku po zuzyskaniu każdego id. Tablica w php, zawierająca jako indeksy wartości id z B. (nie wiem czy da się stworzyć taką strukturę i jak ona wpłynie na wydajność bo to 5000 indeksów) i spradzenie czy jest ustawiona tablica[indexzB]. Doradźcie coś żebym głupoty nie zrobił. Musi być wydajnie. Jeśli plik tekstowy to prosiłbym o pomoc w konstrukcji wydajnego sprawdzania wystąpieniu indeksu. Ten post edytował netmare 20.12.2007, 11:33:29 |
|
|
|
netmare PHP i Postgres 20.12.2007, 11:32:54
MMX3 może zrobić osobną db jak już nie możesz edytować ... 20.12.2007, 15:10:37
netmare Nie znam się niestety na skryptach w postgresie, a... 20.12.2007, 15:15:05 ![]() ![]() |
|
Aktualny czas: 22.12.2025 - 16:22 |