Veteran
Beiträge: 229
![100](http://www.donkarl.com/forum/images/decorations/multiple/100.gif) ![100](http://www.donkarl.com/forum/images/decorations/multiple/100.gif) ![25](http://www.donkarl.com/forum/images/decorations/multiple/25.gif) Ort: Badendorf | hier ist die Abfrage:
SELECT Index, Datum, OT, Vorname, Name, Versicherung, Bemerkung1, Geburtsdatum, ZI, Abrechnung, AT, EE, Aufnahmenummer, PR, CDate(Int(Nz([AT]))) AS AN, Seite, ED
FROM [Kalender-tabelle]
WHERE ((( OT) Not Like "*amb*") AND (( Name)<>"x" And ( Name) Is Not Null And ( Name)<>"xyz") AND (( EE) Is Null Or ( EE)>Date()-1) AND (( PR)<>"nicht erschienen" And ( PR)<>"ohne Ü") AND ((CDate(Int(Nz([AT]))))<=Date() And (CDate(Int(Nz([AT]))))>Date()-30)) OR ((( OT) Not Like "*amb*") AND (( Name)<>"x" And ( Name) Is Not Null And ( Name)<>"xyz") AND (( EE) Is Null Or ( EE)>Date()-1) AND (( PR) Is Null) AND ((CDate(Int(Nz([AT]))))<=Date() And (CDate(Int(Nz([AT]))))>Date()-30))
ORDER BY Name;
also eine ganz normale Abfrage und die braucht bei 60Mbit/s Ethernet 10 Sekunden
die lange Dauer ist genau das Problem, denn es gibt noch größere = länger dauernde Abfragen, vor allem, wenn mehrere Datenbanken angezapft werden.
Da es offensichtlich meistens nicht gelingt, die Ethernet Geschwindigkeit zu erhöhen (das liegt außerhalb meines Einflusses), habe ich glaube ich nur noch 2 Möglichkeiten
- auf einen sql Server zu gehen (das wird aber Zeit kosten, da ich mich nicht damit auskenne)
- statt msaccess eine sqlite Datenbank zu nehmen und die sql Abfragen per php zu machen (ist aber viel Umprogrammierung)
- oder die Struktur der Datenquelle in kleinere Elemente zu zerhacken und nur Teile zu laden und wenn man alles braucht, die wieder per UNION zusammenzusetzen.
Eine andere Idee habe ich nicht.
Edited by Greiff 21.02.24 12:44
|