Ich muss eine Sammlung von Elementen speichern (C# Typ In-Memory), die eine Reihe von Feldern hat wie: Sprache, Besitzer, Schlüssel, etc. Ich möchte diese auf eine Weise speichern, die eine schnelle Filterung ermöglicht. Z.B. Ich möchte vielleicht alle Einträge, die language = "en" hat AND key = "key1". Es wird nicht oft gefiltert und seine Größe kann um 10k Einträge sein, würde eine einfache Liste/Wörterbuch genügen? Ich bin neugierig, wie man das lösen kann, wenn es um größere Listen geht, die öfter gefiltert werden.Die beste Methode zum Speichern von Daten (im Speicher), die gefiltert werden?
Antwort
Wenn es ausreicht, um es im Speicher zu speichern, und es gibt nicht so viele Varianten der Filterung, könnten Sie eine Wörterbuch-basierte Datenstruktur erstellen.
Eine andere Lösung ohne Verwendung einer klassischen relationalen DB ist Lucene.net, eine sehr schnelle Suchmaschine. Obwohl es eine steile Lernkurve und eine Dokumentation hat, die Raum für Verbesserungen bietet ;-) https://www.nuget.org/packages/Lucene.Net/
Oder - verwenden Sie einfach eine klassische DB und achten Sie darauf, Indizes richtig einzustellen.
Danke für Ihre Eingabe. Es ist ausreichend, In-Memory zu speichern, und es gibt nicht so viele Varianten (es wird wie das Beispiel sein, das ich in meinem Post gegeben habe). – Pking
- 1. Die beste Methode zum Speichern von Dateien
- 2. Die beste Methode zum Speichern globaler Variablen
- 3. Die beste Methode zum Speichern alter Daten in SQL Server
- 4. Was ist die beste Methode zum Speichern/Berechnen von Benutzerbewertungen?
- 5. Die beste Methode zum Speichern von Formularwerten in PHP Cookie?
- 6. Die beste Methode zum Extrahieren von Daten aus einer Zeichenfolge
- 7. Die beste Methode zum Speichern von Badge-Kriterien?
- 8. Die beste Methode zum Speichern von Benutzerpunkten in der Datenbank
- 9. Die beste Methode zum Speichern von Anmeldeinformationen in iDevices?
- 10. Beste Methode zum Speichern von Daten für Greasemonkey-basierte Crawler?
- 11. Beste Methode zum Speichern/Abrufen von Diensteigenschaften
- 12. Beste Methode zum Speichern von Daten auf iOS?
- 13. Beste Methode zum Speichern von Daten aus der JSON-Datei?
- 14. Die beste Methode zum Ändern von Konstanten im Java-Buildprozess
- 15. Inkrementieren Schlüsselwert zum Speichern von Daten im lokalen Speicher
- 16. Die beste Methode zum Verwalten von Datenbankänderungen
- 17. Die beste Methode zum Mischen von Songs im Musik-Player
- 18. Die beste Methode zum Floaten?
- 19. Was ist die beste Methode zum Speichern von Testfällen, aus denen Ihre xunit-Tests geladen werden?
- 20. Die beste Methode zum Speichern von Daten in einer Java-Anwendung?
- 21. Beste Methode zum Speichern von Bildern, die vom iBooks-Widget gesendet werden
- 22. Können die Daten im Speicher der Grafikkarte angezeigt werden?
- 23. Die beste Methode zum Speichern von Konstanten, auf die in der Datenbank verwiesen wird?
- 24. Die beste Methode zum Verwalten von Eigenschaften in Spring
- 25. Die beste Methode zum benutzerdefinierten Bearbeiten von Datensätzen in ASP.NET?
- 26. Schnellste MySQL-Speicher-Engine zum Speichern von Daten ohne Nebenläufigkeit
- 27. VMWare Server: Die beste Methode zum Sichern von Images
- 28. Die beste Methode zum Streamen von Dateien in ASP.NET
- 29. Die beste Methode zum Implementieren von View.OnClickListener in android
- 30. Die beste Methode zum Generieren eines Migrationszeitstempels
Entweder reimplementieren [Indexierung] (https://www.simple-talk.com/sql/learn-sql-server/sql-server-index-basics/) in C# oder einfach nur DB – Martheen
DB ist kein Option (meine Frage bearbeitet). – Pking
Sie können In-Memory [SQLite] (http://zetcode.com/db/sqlitecsharp/intro/) DB verwenden. – Martheen