php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.09.2007, 08:02  
Erfahrener Benutzer
 
Registriert seit: 16.03.2004
Beiträge: 170
Kori
Standard PHP bzw. mysql abfragen optimieren

Hallo,

ich wollte mal Fragen ob ihr mir ggf. dabei helfen könnt meine Abfragen zu optimieren, ich selbst habe von Indexen gehört, von Explain and so on, aber in einem Zusammenhang der für mich nicht einleuchtent ist, auch habe ich hier ein Buch vor mir liegen, mit dem Thema "Mit Indizes arbeiten" eine Art PHP5 für Fortgeschrittenen Lehrbuch, aber viel weiter kom ich damit nicht. Und auch diverse andere möglichkeiten habe ich angelesen, wurden jedoch nicht genauer beschrieben.

Wäre super nett wenn mir da jemand helfen könntet, also die Abfrage ist diese:

PHP-Code:
SELECT FROM $table2 WHERE typ='$typ' and checkor=0 ORDER BY sortdatum DESC LIMIT $showvon,$showbis 
Also die Tabelle hat 1000 Einträge...

Leider weiss ich nun auch nicht wie ich mir anzeigen lassen kann wie lang eine Abfrage dauert, aber bei hohen Besucher aufkommen, merkt man schon das die Abfragen enorm auf sich warten lassen. Und laut "htop" auf dem Server springt der mysql dienst auch mal fix an die Decke mit CPU Last bis zu 100% , bei nem Dual Core Xenon ...

Danke an alle die sich dem annehmen und versuchen zu helfen!

Gruß,
Benni
Kori ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.09.2007, 09:36  
Erfahrener Benutzer
 
Registriert seit: 21.07.2005
Beiträge: 209
pepe24
Standard

Hallo Kori,

erstmal solltest Du Bezeichner Deiner Abfrage in Backticks setzen. Ist einfach ordentlicher.
An Deiner Abfrage würde mir nichts fraktal falsches auffallen, bis auf das SELECT *, wobei der Stern durch Feldbezeichner ersetzt werden sollte, deren Inhalte Du auch wirklich benötigst.
An dieser Abfrage kannes meines erachtens definitiv nicht liegen, dass Dein Server in die Knie geht - 1000 Datensätze und dazu noch eine Pagination - das ist keine Last für eine Datenbank!

Indizes sind dazu da, dass man Spalten, die "oft für Suchen verwendet werden", darauf auslegt, die Suche zu verschnellern. Darüber gibts genug im Net.

Gruß
pepe24 ist offline   Mit Zitat antworten
Alt 26.09.2007, 10:46  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

1000 datensätze ist nichts.
bei dieser Datensatzmenge kann sogar vorkommen, dass ein index von 'sortdatum' ein wenig die Geschwindigkeit erhöht, obwol bei so kleinen Tabellen kann manchmal Index sogar geschwindigkeit bremsen.
also teste mal mit dem indexieren von 'typ' 'checkor' und 'sortdatum'.
__________________
Slava
http://bituniverse.com
Slava ist offline   Mit Zitat antworten
Alt 26.09.2007, 21:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Naja nichts, kann sich schon lohnen nen Index drüber zu legen. Faustregel: Auf alle Spalten, nach denen du häufig suchst (WHERE) oder sortierst (ORDER BY).
Das kann schon enorme Geschwindigkeitsvorteile bringen.

Den Befehl kenn ich grad nicht auswendig, einfach mit phpMyAdmin auf den Blitz klicken
Zergling-new 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
Berechnung über mehrere Abfragen aus mysql Slappi PHP Tipps 2008 2 18.12.2007 14:22
Mysql PHP Zahlenfeld aus DB abfragen? darkmana PHP Tipps 2008 10 12.10.2007 11:54
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
Daten aus MySQL Datenbank abfragen trivial Datenbanken 2 29.04.2006 17:48
zum mysql optimieren caching verhindern? Anotherone Datenbanken 1 10.03.2006 21:17
[Erledigt] Dynamische Ausgabe von Mysql Abfragen PHP-Fortgeschrittene 1 21.10.2005 10:53
[Erledigt] Jahr und Monat aus DATE spalte in MySQL abfragen. Datenbanken 7 24.09.2005 02:40
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] MySQL Abfragen als Frage-Antwort Datenbanken 0 31.05.2005 18:35
info über mysql status abfragen nieselfriem Datenbanken 4 13.04.2005 09:42
Kann man Mysql Datenbanken abfragen ob Sie verfügbar sind ? Datenbanken 2 12.03.2005 16:39
between datum abfragen mysql hekto Datenbanken 2 12.01.2005 11:07
Password aus mySQL abfragen und vergleichen ob zu User passt PHP Tipps 2004 2 14.10.2004 10:15
Problem mit 2 gleichzeitigen MySQL abfragen PHP Tipps 2004 2 08.07.2004 13:57
MySQL DB Tabellen Kommentar abfragen Datenbanken 3 13.06.2004 22:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql abfragen optimieren, mysql geschwindigkeit optimieren, mysql abfrage optimieren, php optimieren, mysql select optimieren, php mysql abfragen optimieren, datenbank abfrage geschwindigkeit, mysql optimieren, mysql server optimieren, mysql datenbankabfrage optimieren, mysql abfrage geschwindigkeit, mysql abfrage in php, mysql queries optimieren, mysql abfragen, dmysql 1000 einträge geschwindigkeit?, datenbankabfragen optimieren, was index mysql geschwindigkeit, mysql geschwindigkeit, mysql select stern, php abfrage in mysql

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