Witam
od kilku dni testuję sobie PostgreSQL pod Windows (swoją drogą po wejściu w Pgadmin nie wiem czemu pojawia mi się zakładka w chromie a a nie w oddzielnej aplikacji)
Oprogramowanie jest ciekawe ale wymaga wielu komend, dlatego proszę was o pomoc.
Być może wskażecie lepsze rozwiązanie niż jakiś element mojej wizji.
Ok:
Stworzyłem sobie bazę danych z takimi oto wartościami:
CREATE TABLE Public."Prefix" (numer varchar(100), nazwa varchar(100), liczba varchar(100))
select * from Public."Prefix"
COPY Public."Prefix" FROM 'C:\Users\PC-KOMP\Downloads\NEW\01.tsv' DELIMITER E'\t';
treść pliku 01.tsv poniżej:
101 ania 510100
334 magda 584348
280 agnieszka 455899
116 ania 748555
055 tomek 655982
874 basia 254577
333 marek 113545
454 robert 638224
119 sylwia 447003
Ok, mam te dane w bazie w tabelach (Tables) pod nazwą "Prefix"
O ile te dane w tej tabeli "Prefix" są w miarę stałe to kolejne napływające dane do drugiej tabeli, które chcę importować mogą być inne lub czasami takie same.
Moim celem jest porównywanie pierwszej tabeli (a dokładniej kolumny nr 3 o nazwie "liczba" ) z kolejnymi importowanymi danymi, które będą się pojawiały w drugiej tabeli.
Aby zoptymalizować szukanie chciałbym pierwszą tabelę jakoś zindeksować aby była "pod ręką w ram" (żeby nie trzeba było ciągle ją przeszukiwać od nowa)
po to aby w trakcie importu do drugiej tabeli nowych danych, pierwsza tabela byłaby gotowa do porównania.
Oto zarys.
- Mam stałą pierwszą tabelę "Prefix"
- Kilka razy w tygodniu importuję nowe pliki csv lub tsv do drugiej tabeli o nazwie "Nowe"
- Chciałbym aby w trakcie każdego importowania do drugiej tabeli o nazwie "Nowe" PostgreSQL porównywał nowe dane z pierwszą tabelą (kolumną nr 3)
- Jeśli nie znajdzie podobieństw to ok a jeśli znajdzie jedno lub więcej to chciałbym aby mi to pokazał
PS. czy lepiej porównywać dwie różne tabele w obrębie jednej bazy, czy lepiej stworzyć dwie bazy z dwoma oddzielnymi tabelami?
PS2. jeśli można byłoby zindeksować pierwszą tabelę jakoś do ramu to czy porównywanie lepiej robić po imporcie czy właśnie w trakcie?
(chodzi mi o zachowanie szybkości procesu bez zbędnego czekania)