DIE FRAGE: WAS IST BESSER (SCHNELLER) DATENSUCHE...
...IM ARRAY ÜBER FILEREADTOARRAY UND ARRAYSEARCH
ODER
...SQLITE_QUERYSINGLEROW BEI SQLITE-DATENBANK?
Mein aktuelles Projekt umfasst folgende Schritte:
- "Scannen" diverser WEB-Seiten
- Auslesen und Aufbereiten der Inhalte
- Bereitstellung dieser als ASCII del. für Folgearbeiten z.B. mit ACCESS
Bei Schritt 2 soll neu zusätzlich auf Daten früherer "Scanläufe" (zur Vermeidung ressourcenfressender Doppelerfassungen und für eine vereinfachte Nutzung der Ergbnisdaten) zugeriffen werden.
Bevor ich viel Zeit in die Suche nach der besten (performantesten) Lösung investiere, meine Frage an die AutoIt-Mitglieder nach der besseren Variante. Hier meine beiden Ideen:
- Nutzung der bestehenden ASCII del. aus früherem Scan per _FileReadToArray und Suche nach PK-Merkmalen mit _ArraySearch
ODER
- Verwendung einer SQLite-Datenbank, die bei jedem Lauf fortgeschrieben wird und Abfrage ggf. vorhandener PK-Merkmale per _SQLite_QuerySingleRow. Eine Nutzung von _SQLite_SQLiteExe sollte dabei nicht erfolgen, da das Tool auch ohne installiertes SQLite arbeiten soll, d.h. nur mit SQLite.dll.au3.
Tests im kleinen Rahmen (nur ca. 1.000 Datensätze) zeigten einen klaren Zeitvorteil bei der Array-Lösung. Ich kann die Laufzeiten bei angenommenen 500.000 oder mehr Datensätzen aber vermutlich damit nicht gleichsetzen.
Welche Lösung (bzw. welche vielleicht noch bessere) ist die bessere?
Anmerkungen:
PK-Merkmal = Primary Key = Identifer für den jeqweiligen Datensatz