Autor |
Nachricht |
Raumwurm
Threadersteller
Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 01.02.2008 15:20
Titel [mySql] Alternative zu Like |
|
|
Hoi miteinander.
Eine Frage an die Sql-Freaks hier. Bin gerade an einem Formfeld-
Autocompleter mittels ajax ->db->json->html. Meine abzufragende
Db-Table hat ca. 80.000 Einträge.
Hier in der Testumgebung funktioniert das alles recht flott mit einer
simplen LIKE-Abfrage. Nur wat ist, wenn das Ding online geht und sich
100 User gleichzeitig auf der Seite rumtreiben. Kann es da performance-
technisch Probleme geben und wenn ja gibt es eine sinnvollere Variante
als LIKE? Hatte da mal was auf apache.org aufgeschnappt von wegen
Cache anlegen - ohne es aber wirklich verstanden zu haben.
Hat jemand Erfahrungen, Links oder Keywords zum googlen?
Grazie
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 01.02.2008 15:38
Titel Re: [mySql] Alternative zu Like |
|
|
Raumwurm hat geschrieben: | ... und wenn ja gibt es eine sinnvollere Variante
als LIKE? |
Für ein anständiges Autocomplete Feld kommt nur LIKE in Frage.
Raumwurm hat geschrieben: | Hatte da mal was auf apache.org aufgeschnappt von wegen
Cache anlegen - ohne es aber wirklich verstanden zu haben |
http://www.google.de/search?hl=de&q=mysql+query+cache
Worüber du eventuell nachdenken solltest, auf Javascript Seite zu optimieren
indem du bei jedem Keyup Event erstmal ein kurzes Timeout setzt, und somit
je nach Tippgeschwindigkeit oft schon ein paar Abfragen einsparen kannst.
Aber Autocomplete mit Timeout ist eben auch kein anständiges Autocomplete.
|
|
|
|
|
Anzeige
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Fr 01.02.2008 15:41
Titel Re: [mySql] Alternative zu Like |
|
|
Raumwurm hat geschrieben: | Hoi miteinander.
Eine Frage an die Sql-Freaks hier. Bin gerade an einem Formfeld-
Autocompleter mittels ajax ->db->json->html. Meine abzufragende
Db-Table hat ca. 80.000 Einträge.
Hier in der Testumgebung funktioniert das alles recht flott mit einer
simplen LIKE-Abfrage. Nur wat ist, wenn das Ding online geht und sich
100 User gleichzeitig auf der Seite rumtreiben. Kann es da performance-
technisch Probleme geben und wenn ja gibt es eine sinnvollere Variante
als LIKE? Hatte da mal was auf apache.org aufgeschnappt von wegen
Cache anlegen - ohne es aber wirklich verstanden zu haben.
Hat jemand Erfahrungen, Links oder Keywords zum googlen?
Grazie |
Schau dir bezüglich Caching mal das hier an:
http://de2.php.net/memcache
..sollte sich für deine Zwecke recht gut eignen.
darin könntest du z.B häufig verwendete suchbegriffe
als json objekte oder cvs (schneller) ablegen und diese
nur bei inserts in die db updaten.
von diesen suchbegriffen erstellst du nen index, gleichst
diesen zuerst mit dem getippten ab und machst nur "echte"
datenbank requests, wenn der suchbegriff nicht in dieser
indize liste ist.
... allerdings ist das nur gefährliches halbwissen - praktisch
angewendet habe ich das so noch nicht aber auf diversen
vorträgen als "waffe der wahl" präsentiert bekommen.
Zuletzt bearbeitet von sahnemuh am Fr 01.02.2008 15:43, insgesamt 1-mal bearbeitet
|
|
|
|
|
Raumwurm
Threadersteller
Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 01.02.2008 16:00
Titel
|
|
|
Wow das ging aber schnell.
m hat geschrieben: | Für ein anständiges Autocomplete Feld kommt nur LIKE in Frage. |
m hat geschrieben: | http://www.google.de/search?hl=de&q=mysql+query+cache |
sahnemuh hat geschrieben: | http://de2.php.net/memcache |
ha wunderbar - gebookmarkt, danke
m hat geschrieben: | Worüber du eventuell nachdenken solltest, auf Javascript Seite zu optimieren
indem du bei jedem Keyup Event erstmal ein kurzes Timeout setzt... |
Da ist jetzt einer drin mit 1000ms, vorsichtshalber. Aber wenn
das mit dem query-cache bzw. memcache funzen würde, fliegt
der da raus.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[PHP + mySQL] Kann Fehler in einer mySQL-Phrase nicht finden
[PHP/MySQL] MySQL Error: 1054, falsche Tabelle ausgewählt?
[MySql]Lost connection to MySQL server during query
[PHP / MySQL] MySQL-Funktion gesucht: letzteÄnderungTabelle
(php-mysql) übergabe von formulardaten und abfrage m. mysql
[php / mysql] Mysql Daten in php als Link ausgeben
|
|