Hallo,
ich habe eine Tabelle in einer PostgreSQL-DB im Netz liegen und greife auf diese über ein Access Frontend (über ODBC) zu. Wenn ich in dieser Tabelle (ca. 13.000 Datensätze) über die die normale "Access-Suche" eine Suche absetze dauert das ewig lange.
Kann ich da noch etwas an den Einstellungen von ODBC in Access ändern, damit ich mehr Performanz bei der Suche bekomme? Gibt es noch andere Wege, eine höhere Performanz zu erreichen?
Vielen Dank für Tipps,
ebmsushi
Ich vermute mal, Access holt sich zuerst alle Datensätze aus der Datenbank und sucht dann in den Daten lokal?
Du könntest also ein vernünftiges Frontend verwenden ... oder die Konfiguration der Datenbank verbessern.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Also eher sehr wenige Datensätze.
Keine Ahnung, was eine normale Access-Suche ist und auch keine Ahnung, was Du unter 'ewig' verstehst. Eine Suche in solch einer Minitabelle dauert selbst bei einem Seq-Scan nur Millisekunden. Oder weniger.über die die normale "Access-Suche" eine Suche absetze dauert das ewig lange.
Demo:
Eine Tabelle mit ca. 318.000 Datensätzen, Seq-Scan:
Vermutlich ist also Dein "Access" kaputt.Code:test=*# explain select * from words where w = 'Datenbank'; QUERY PLAN --------------------------------------------------------- Seq Scan on words (cost=0.00..5657.55 rows=1 width=13) Filter: (w = 'Datenbank'::text) (2 Zeilen) Zeit: 0,303 ms test=*# select count(1) from words; count -------- 318924 (1 Zeile)
Was erzeugt es denn auf PG-Seite für eine Abfrage?
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Also unter normaler Access-Suche verstehe ich folgendes:
Ich öffne eine durch ODBC verknüpfte Tabelle, dann betätige ich den Button der so aussieht wie ein Fernglas - es öffnet sich ein Fenster mit der Überschrift "Suchen und Ersetzen". Hier gibt es zwei Reiter (nämlich "Suchen" und "Ersetzen").
Suche ich nach Einträgen, die gerade im sichtbaren Ausschnitt der Tabelle zu sehen sind dauert es nur Millisekunden bis der Eintrag gefunden wird.
Suche ich nach Einträgen die ganz am anderen Ende der Tabelle außerhalb des aktuell sichtbaren Bereichs sind, dauert die Suche mehrere Minuten.
Woran liegt das? Kann man das optimieren?
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen