Moin Moin!
»» Reguläre Ausdrücke sind im allgemeinen noch ziemlich teuer.
Mein Provider hat sich noch nicht beschwert und von der Zeit her geht es auch.
Beschweren wird er sich kaum, wenn Du zu viel Resourcen belegst, wird Dein Prozess gekillt oder auf low priority gesetzt. Notfalls wird auch mal die gesamte Domain auf eine "Überlastet"-Seite umgebogen.
"teuer" ist für geringe Last kein Problem, und manchmal kommt man um "teure" Aktionen einfach nicht herum. Man muß sich dessen nur bewußt sein. Wenn ich weiß, dass eine bestimmte Aktion 1000x mehr Aufwand als die durchschnittliche Aktion benötigt, aber nur zweimal täglich vorkommt und auch nur für besonders priviligierte Benutzer, dann lasse ich das so. Ist diese teure Aktion aber für jeden Seitenzugriff nötig, dann ist das einer der ersten Optimierungspunkte, sobald mehr als nur ein paar Seitenaufrufe am Tag stattfinden.
Das Problem ist aber, dass ich wirklich mal dazu übergehen will, dass Nutzer etwas in die DB eintragen können.
Da würde ich auf jeden Fall bei einem RDBMS bleiben, mit Textdateien und dem notwendigen Locking artet der Aufwand dann doch etwas aus.
Und gerade bei dieser DB, wo es nur um einzelne Worte geht, würde ich ein direktes, ungeprüftes Eintragen durch den Benutzer NICHT zulassen. Es wäre sonst viel zu einfach, Deine DB ganz schnell mit ganz viel Müll zu füllen. Entweder trägst DU die neuen Worte ein, die die Nutzer in eine separate Kandidaten-Tabelle (ID, Wort, erklärender Text) füllen, oder Du markierst die ungeprüften Worte in der Haupttabelle als solche und berücksichtigst diese erst einmal nicht oder gibst sie getrennt von den geprüften Worten aus. Du müßtest dann regelmäßig die neuen überprüfen und entweder als geprüft markieren oder löschen.
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".