@DarkFaces
Da spricht absolut nix gegen die RowNames durchzunummerieren.
Ich meinte eher so einige recht bekannte Inventar-Tutorials und Lösungen im Netz, die zeigen wie es gehen soll, sind aber im Grunde recht schlecht entwickelt.
Die ID ist dann meist einfach ein Int-Wert.
Dann werden alle Einträge durchgeloopt erst einmal komplett eingelesen und mit jedem Eintrag wird der Int-Wert verglichen.
Anstatt gleich den RowName als ID zu "missbrauchen" und direkt zum richtigen Eintrag zu springen, was bedeutend schneller geht.
Aber du machst das ja absolut korrekt - ich habe das Ganze nur so allgemein dazugeschrieben, weil es zum Thema passte und auch nicht jeder weiß bzw. den "Trick" kennt.
Also die meisten Survival-Spiele und Ego-Shooter haben mit unter heutzutage tausende verschiedenen Items und hunderten Eigenschaften dazu.
Dafür braucht man mindestens eine DT - aber besser wäre SQl, weil man seine SuchFilter als direkten Indexzugriff definieren kann.
Denn auch für die Filter braucht man nicht eine Unmenge an Branches usw.
Wer einmal auf einer Webseite mit SQL programmiert hat kennt die unglaublich guten Möglichkeiten.
Im Groben ist einer SQL-Datenbank nämlich egal wie groß sie ist - sie wird nicht langsamer, weil indexiert wird.
Eine Daten-Tabelle hingegen kommt einfach einer CSV-Datei gleich, die von oben nach unten seriell ausgelesen wird.
Die langsamste Methode Daten zu lesen.
Mit den RowName=ID "Trick" kann man wenigstens etwas schneller aus den Speicher lesen - ersetzt aber keine Indexierung.
Da im Grunde intern trotzdem auch mit den RowName-Direkt-Sprung die ganze Tabelle von Anfang an bis zum exsprechenden Eintrag durch geloopt wird.
In der Indexierung einer SQl-Datenbank wird die Festplatte direkt zum Eintrag angefahren.
Ein Unterschied wie Tag und Nacht.
Wenn man natürlich nur 50 Items in seinem Projekt hat, fällt es nicht ins Gewicht.
@Socke
Das ist die API-Anbindung, die es ermöglicht ein Datenbank-Plugin zu integrieren.
Die API gibt es seit Anbeginn und ist keine Vorbereitung für eine evtl. geplante standardmäßige SQL-Integration.
Das ist reine Drittanbieterunterstützung.