SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 24.02.2011, 15:43:05
sinfo sinfo ist offline
Anfänger
 
Registriert seit: May 2003
Beiträge: 106
count(*) ...

Hallo,

ich grübele über einer Frage und finde keine Antwort. Vielleicht kann mir jemand helfen. Eigentlich müsste es ein Standard-Problem sein ...

--- Problem
Ich führe eine Suche in einer Datenbank durch. Über den Suchergebnissen soll die Gesamtzahl der Treffer ausgegeben werden. Pro Suchergebnisseite sollen 10 Treffer ausgeben werden.

Ich führe daher zwei MySQL-Abfragen durch:
1) Eine erste Abfrage mit count die alle Treffer zählt und
Zitat:
SELECT count(*) FROM BiographyMaster WHERE Realname LIKE '%gaddafi%'
2) eine zweite Abfrage, die die Treffer für die entsprechende Suchergebnisseite ausgibt
Zitat:
SELECT * FROM BiographyMaster WHERE Realname LIKE '%gaddafi%' ORDER BY Realname ASC LIMIT 0, 10
Durch die Menge an Datensätzen dauert selbst die Count-Abfrage relativ lange. Zwei Abfragen dauern ... gefühlt ewig.

--- Frage
Kann ich es irgendwie vermeiden zwei MySql-Abfragen durchzuführen?
Mit Zitat antworten
  #2  
Alt 24.02.2011, 16:08:57
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: count(*) ...

Ja, benutze nur die zweite Abfrage und mysql_num_rows. Arbeite nicht mit "SELECT * ..." wenn Du nicht alle Felder aus der Datenbanktabelle benötigst.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 24.02.2011, 16:10:52
sinfo sinfo ist offline
Anfänger
 
Registriert seit: May 2003
Beiträge: 106
AW: count(*) ...

Ja, das wäre die Notlösung. Aber dann fehlt mir die Gesamtzahl der Treffer. Beispiel Google

234.456 Treffer zu "Angele Merkel" ...
Mit Zitat antworten
  #4  
Alt 24.02.2011, 16:13:27
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: count(*) ...

Zitat:
Zitat von sinfo Beitrag anzeigen
Ja, das wäre die Notlösung. Aber dann fehlt mir die Gesamtzahl der Treffer.
Sorry, hatte LIMIT übersehen. Läßt sich dann aber bei der Ausgabe regulieren.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5  
Alt 24.02.2011, 19:13:40
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: count(*) ...

Hi

Zitat:
LIKE '%gaddafi%'
Eine wildcard am Anfang ist nicht durch nen index zu beschleunigen.
Demnach geht zwar die zweite schneller (cache usw) aber es kommt auch
darauf an in was du für Felder suchst (varchar / text).
Schau dir mal versch. Volltextlösungen im inet an, das was du da machst geht
nur im kleinen mit 1000 Datensätzen.

mfg

CKaos

PS: entscheide dich für ein Thema betrifft beides das selebe oder?
http://www.selfphp.de/forum/showthread.php?t=24029
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:42:36 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt