php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.02.2005, 23:39  
Gast
 
Beiträge: n/a
Standard Performances Probleme bei z.B. LIMIT 300000,10

Performances Probleme bei z.B. LIMIT 300000,10

Hat jemand eine Idee? (Abfragezeit bis zu 20 Sekunden)

Vielen Dank im Voraus

Grüße aus Hamburg

jodu
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.02.2005, 02:13  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

...mehr arbeitsspeicher falls nötig =>(zuviel auf festplatte ausgelagert)
...höhere cpuleistung
...schnellere festplatte , denn die daten liegen dort.

das fällt mir spontan ein.
Alpha Centauri ist offline   Mit Zitat antworten
Alt 10.02.2005, 09:10  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Für Fälle, in denen solche eher gross angelegten Tabellen durchblättert werden wollen, womöglich noch mit einer aufwendigen Bedinung, lasse ich mir die resultierende Reihenfolge der IDs in eine (mehr oder weniger) temporäre Tabelle schreiben.

Diese per LIMIT einzuschränken und dann nur noch per IDs die Datensätze aus der grossen Tabelle zu ziehen, geht dan nicht mehr dermassen auf die Performace.
Guradia ist offline   Mit Zitat antworten
Alt 10.02.2005, 10:41  
Gast
 
Beiträge: n/a
Standard

WHERE macht dass aber in 0,019 Sekunden.

WHERE `number` > '400890'
AND `number` < '400900'

Aber waurm ist where hierbei schneller als LIMIT
  Mit Zitat antworten
Alt 10.02.2005, 10:58  
Erfahrener Benutzer
 
Registriert seit: 19.10.2004
Beiträge: 498
marsch
Standard

Zitat:
Zitat von jodu
WHERE macht dass aber in 0,019 Sekunden.

WHERE `number` > '400890'
AND `number` < '400900'

Aber waurm ist where hierbei schneller als LIMIT
Wenn ich mich recht erinnere, zieht MySql das gesamte Result und limitiert das. Das macht es hier natürlich nicht.
__________________
Cheers, Marco
marsch ist offline   Mit Zitat antworten
Alt 10.02.2005, 12:21  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.232
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Bei solchen Konstrukten:
Code:
SELECT Spalte FROM Tabelle ORDER BY SortSpalte LIMIT 30000, 10
sollte ein Schlüssel auf SortSpalte effektiv sein. Ein WHERE ist auch nur dann wirklich schnell, wenn auf der eingeschränkten Spalte ein Schlüssel liegt, ansonsten muss es ebenfalls alle Datensätze durchgehen.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 10.02.2005, 19:02  
Gast
 
Beiträge: n/a
Standard

@guradia: nichts anderes macht ein index

Zitat:
Zitat von Alpha Centauri
...mehr arbeitsspeicher falls nötig =>(zuviel auf festplatte ausgelagert)
...höhere cpuleistung
...schnellere festplatte , denn die daten liegen dort.

das fällt mir spontan ein.
lieber erst die querys anschaun bevor man sinnlos den rechner aufbohrt... ich wette mit dir, die leistung des servers kriegst du nicht ohne weiteres aufs 10 fache hochgeschraubt und selbst dann dauert die query immer noch 2 sekunden was ein bisserl lange ist für so ne triviale aufgabe...

bei abfragen die 20 sekunden dauern, ist wahrscheinlich, das mysql die komplette tabelle sortiert. also query optimieren.
hantier mal mit EXPLAIN und indexen rum...
  Mit Zitat antworten
Alt 10.02.2005, 19:10  
Gast
 
Beiträge: n/a
Standard

Einmal ein OPTIMIZE TABLE $tabelle auszuführen wäre auch ein guter Vorschlag
  Mit Zitat antworten
Alt 10.02.2005, 19:21  
Gast
 
Beiträge: n/a
Standard

kommt drauf an, nur wenn sich die festplatte als flaschenhals herausstellt, sonst bringt ein OPTIMIZE net so viel
  Mit Zitat antworten
Alt 10.02.2005, 19:35  
Gast
 
Beiträge: n/a
Standard

OPTIMIZE bringt dann was, wenn in der Tabelle viel gelöscht wird. Dann möchte man schon mit OPTIMIZE TABLE die Karteileichen auch physikalisch entfernen.
  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
[Erledigt] Firefox / IE - Probleme HTML, Usability und Barrierefreiheit 5 20.07.2009 17:04
[Erledigt] MySQL-Abfrage mit LIMIT geht nicht PhilCGN PHP Tipps 2008 16 30.05.2008 15:39
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Probleme mit Rechteverteilung chmod() per script!!!??? Funky_ PHP Tipps 2006 7 17.06.2006 17:10
Probleme beim speichern in der DB PHP Tipps 2006 3 23.02.2006 10:00
[Erledigt] Limit? Datenbanken 4 16.12.2005 10:09
LIMIT Abfrage mit Variablen PHP Tipps 2007 6 14.11.2005 17:41
Probleme mit Sonderzeichen... Datenbanken 1 02.08.2005 23:37
Sortieren nach und limit setzen CHRIS Datenbanken 1 11.07.2005 17:45
Befehlsoptimierung faux Datenbanken 4 31.05.2005 19:11
Zwei Rechner ins Netz - Router - Hub - Probleme... imported_Ben Off-Topic Diskussionen 37 13.01.2005 21:36
Feldname bei LIMIT setzen? Datenbanken 8 30.11.2004 18:52
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
Problem mit Abfrage und Limit PHP Tipps 2004 5 14.10.2004 08:16
LIMIT(?) Fehler Schaelle Datenbanken 0 28.08.2004 14:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
limit $from, 10, 3000000 sekunden sind wieviel min?, http://www.php.de/datenbanken/17593-performances-probleme-bei-z-b-limit-300000-10-a.html

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