php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.09.2004, 11:21  
Gast
 
Beiträge: n/a
Standard [Erledigt] count(id) oder mysl_num_rows($result)

moin jungs,

kurze verständnisfrage:
ich will mal schnell ne geschichte einbauen, die meine ausgabe begrenzt
und mir das blättern durch die ausgabeseiten ermöglicht.

gibt es einen wichtigen unterschied zwischen
PHP-Code:
$resultID = @mysql_query("SELECT COUNT(ID) FROM ".$table); 
und
PHP-Code:
$result mysql_query($query);
mysql_num_rows($result); 
der mich den verstand kosten könnte?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.09.2004, 12:27  
Erfahrener Benutzer
 
Registriert seit: 29.08.2003
Beiträge: 216
wurtzel
Standard

ich würde mal sagen mit


$result = mysql_query($query);
$anzahl=mysql_num_rows($result);

und

mysql_data_seek($result,$beginn);

kannst du dir eine mysql abfrage einsparen
wurtzel ist offline   Mit Zitat antworten
Alt 16.09.2004, 12:32  
Gast
 
Beiträge: n/a
Standard

mysql_query überträgt alle Ergebnisse vom db-server in den php-Prozess. Bei vielen Datensätzen kann das den Speicher unnötig füllen und auch die Übertragung kostet etwas Zeit.
Mit
PHP-Code:
$result mysql_query('SELECT Count(*) FROM ...');
$count reset(mysql_fetch_row($result)); 
wird nur ein Wert übertragen.
Das lohnt sich, wenn hinterher nur ein kleiner Ausschnitt aus einer (potentiell) großen Datenmenge wirklich benutzt werden soll.
In neueren Version von mysql kann die Gesamtzahl der passenden Datensätze unabhängig von LIMIT bestimmt werden, siehe http://dev.mysql.com/doc/mysql/en/Nu..._features.html Stichwort: SQL_CALC_FOUND_ROWS
  Mit Zitat antworten
Alt 16.09.2004, 13:11  
Gast
 
Beiträge: n/a
Standard

roger, danke für die auskunft.
  Mit Zitat antworten
Alt 16.09.2004, 13:20  
Erfahrener Benutzer
 
Registriert seit: 29.08.2003
Beiträge: 216
wurtzel
Standard

gibts in php jetzt schon möglichkeiten SQL_CALC_FOUND_ROWS
zu nutzen??
wurtzel ist offline   Mit Zitat antworten
Alt 16.09.2004, 14:49  
Gast
 
Beiträge: n/a
Standard

ka, aber es würd ne menge code sparen .
  Mit Zitat antworten
Alt 16.09.2004, 21:56  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hat doch eher was mit der MySQL-version zu tun, als mit der PHP-version, oder sehe ich das falsch?
imported_Ben ist offline   Mit Zitat antworten
Alt 17.09.2004, 10:56  
Erfahrener Benutzer
 
Registriert seit: 29.08.2003
Beiträge: 216
wurtzel
Standard

so in die richtung könnte es funktionieren

PHP-Code:
$result=mysql_query("SELECT /*! 40000 SQL_CALC_FOUND_ROWS */ foo,bar FROM some_table limit 1,10");
$countresult mysql_fetch_row(mysql_query("SELECT FOUND_ROWS() AS count")); 
wurtzel 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
ORDER BY 'count(id)' tinchen Datenbanken 12 18.09.2007 20:53
SELECT WHERE datetime abfrage - Optimierung mrSpok Datenbanken 15 23.03.2006 19:08
[Erledigt] SELECT COUNT(id) erweitern Datenbanken 12 09.12.2005 17:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql count(*) oder count(id) was schneller?, mysl_num_rows, mysql_query count results, count(id) reset, php result count, id aus result, count(*) oder count(id), $result = mysql_query, mysql_query count

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:17 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.