php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.09.2011, 00:05  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
dauert halt das Suchen knapp eine Minute
sind da viele LIKE-Abfragen drin ?

Dann kannst eventuell so was machen:
PHP-Code:
$sql .= "AND LEFT(suchbegriff, LENGTH('".mysql_real_escape_string($_POST['suchbegriff'])."')) 
= '"
.mysql_real_escape_string($_POST['suchbegriff'])."'"
Hab ich bein nem Suchformular so umgebaut mit dem Effekt, daß die Suchanfragen bedeutend
schneller beantwortet werden.

Das gibts auch für rechtsbündige Suche mit RIGHT.
__________________
Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.
Koala ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.09.2011, 09:32  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.167
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Wenn das wirklich Volltext-Suchabfragen sind, würde ich die bei den Datenmengen in ein anderes System (z. B. Sphinx) auslagern. Da könnte man alle 10 min. den Index dafür aus eurer DB aufbauen und ihr hättet wesentlich weniger Last durch Selects.

Damit haben wir hier ziemlich gute Erfahrungen gemacht.
xm22 ist offline   Mit Zitat antworten
Alt 13.09.2011, 11:32  
Erfahrener Benutzer
 
Registriert seit: 28.06.2009
Beiträge: 109
PHP-Kenntnisse:
Fortgeschritten
eisenhans befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von tr0y Beitrag anzeigen
Kannst du so eine 1000000-Einträge-Table-SELECT incl. Volltextsuchquery sowie die Struktur ( prinzipielle ) des Tables mal posten ?

Du musst in der Tabelle schon enorm viele Daten haben wenn dir die Datenbank ne Minute AFK geht bei 1 mio Einträgen.

Als "Beispiel": Ich hab vor ein paar Tagen erst in Relay-Log-Tables mit Apache-Logs einer Serverfarm auf Fehler-Suche gehen müssen und da waren weit mehr als 3 Milliarden Rows an Datenmasse auf denen die Querys liefen, alles was da über 5 Sekunden Laufzeit gehabt hätte, wär warscheinlich an nem kill gestorben...
Danke für die Antworten:

Code:
AND (MATCH($this->tablename.synonym)
AGAINST ('$suche_nach' IN BOOLEAN MODE))";
habe inzwischen schon einige Experten interviewt.

Was ich noch Optimieren kann, ist:
1. Meine Artikeltabelle enthält im Moment noch alle Informationen,
diese aufzuteilen und zu splitten,
wird mir wahrscheinlich einiges erleichtern,
also
Code:
Artikel:
======
ID Primary KEY
Synonym Schlüssel, sowie Adresse des Dokuments
TabellenID WO sind die Informationen
Volltext index auf dem Synonym 

Artikel-detail:
==========
ID Primary KEY
Description
Image
Info1
Info2
...
Der nächste Schritt ist der Import neuer Daten über einen Cronjob in der Nacht,
der soll effizient laufen, aber Suchanfragen trotzdem nicht blockieren.

Da werde ich versuchen, mit den mySQL PRIORITY tags zu arbeiten die Daten in Chunks auszulesen, also versuchen, den Prozeß in mehrere Schritte zu unterteilen. Da versuche ich noch mit PCNTL eine Lösung zu basteln

Und alles wird gecacht, daß ist der erste Schritt, den ich jetzt schon fertig habe, und der die ganze Performenz siginifikant verbessert hat.
__________________
Webstammtisch Oldenburg
eisenhans ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[ZEND] Session::writeClose() immer am Ende des Skriptes ausführen Sirke PHP Einsteiger 1 09.06.2011 08:36
[Erledigt] Abfrage über 2 Variablen mit gleicher Priorität spiderguy Datenbanken 10 09.09.2010 16:24
Array sortieren... BlackScorp PHP Tipps 2010 15 12.07.2010 08:20
[Erledigt] MySQL SORT BY mit mehreren SORTS (Nach Priorität geordnet) DJ_RhoxxZ Datenbanken 3 17.03.2010 21:12
[Erledigt] Such Funktion nach Priorität likemike90 PHP Tipps 2009 9 19.04.2009 11:34
[Erledigt] funktion mit niedriger priorität ausführen rudygotya PHP Tipps 2009 6 02.03.2009 10:59
[Erledigt] Code innerhalb eines Skriptes übergeben echo PHP Tipps 2008 11 30.11.2008 14:12
via PHP auf Linux Threats mit unterschiedlicher Priorität/.. IK24BD PHP-Fortgeschrittene 5 23.08.2006 12:50
Priorität von $_REQUEST PHP Tipps 2005-2 2 23.10.2005 02:44
"mail ()" mit Absender und Priorität PHP Tipps 2005-2 3 15.06.2005 21:09
Aufruf eines PHP Skriptes aus JAVA Umgebung PHP Tipps 2005-2 3 14.06.2005 17:39
automatische ausführung eines weiteren skriptes im anschluss PHP Tipps 2005 6 20.05.2005 10:51
[Erledigt] fulltext suche priorität von tabellen setzen Datenbanken 1 09.08.2004 15:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
like abfrage mit prioritäten

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum