phpbar.de logo

Mailinglisten-Archive

Performance-Problem

Performance-Problem

M.Albrecht mysql-de_(at)_lists.bttr.org
Wed, 13 Feb 2002 10:30:50 +0100


Moin,

>>hmmm... wie ich ja schrieb, zeigt die Status-Anzeige "sending data",
>>nicht aber "sorting" (das Sorting geht innerhalb von ein, zwei Sekunden
>>vonstatten). Dies deutet mir weniger auf ein Optimierungsproblem beim
>>unsortierten Zugriff hin - oder?
> 
> Ähhm Dein Zugriff Select * from table ist unsortiert, da die Sätze
> (zumindest theoretisch) so in beliebiger Reihenfolge ankommen. Ohne jetzt
> darauf abzufahren, mit unsortiert meine ich einen Zugriff ohne Schlüssel (a
> la table scan) und natürlich ohne ORDER BY, bei unsortiert findet natürlich
> auch kein "sorting" statt.


Ok - schon klarer. In den meisten REALEN Anfragen wird nach Schlüsseln 
gesucht (Primary) bzw nach indizierten Spalten. Die TESTANFRAGE war eben 
genanntes "select * from ... limit ..." - und bei dieser sieht man das 
Problem eben auch sehr schön.

Übrigens haben wir vor Kurzem eine alte mySQL Version auf die aktuell 3.23.48 
geupdatet (upgedatet?) und dabei einen dramatischen Performance-Verlust 
bemerkt... ist das normal?

> Bei use_result wird das Abfrageergebnis nicht erst im Speicher
> zwischengelagert bis komplett, sondern "sofort" an den client geschickt.
> Dafür lockt es aber die Tabelle solange bis der client mit der Abfrage
> fertig ist.
> Ob das nun sinnvoll ist oder die Besserung bringt kann ich nicht sagen.


Auf jeden Fall ist es einen Versuch wert - ich werde sofort berichten :-)

> Mit Text gehts glaube ich nicht. Bei fixen Record-größen (mit CHAR) ist die
> Länge eines Textfeldes auf 255 Zeichen beschränkt.  Von Varchar mit fixed
> size hab ich noch nichts gehört, vielleicht sollte ich mal mein Handbuch
> updaten...


Ok, auch da werde ich nochmal einige Tests durchführen.

> Hattes Du nochmal meinen unverbindlichen Hinweis mit dem table_cache
> geprüft? (16M scheint mir zu viel, 500 sollte vollkommen reichen, es sei
> denn der Parameter hat kurzfristig seine Bedeutung geändert).


Ja, das habe ich einfach rausgekickt (weiss nicht, woher der Wert kam) - 
sollte aber, wenn ich die Doku da richtig verstehe, im vorliegenden Fall 
nichts Negatives bewirkt haben.

> Ich persönlich arbeite mit Tabellen die z.T. bis 12Mio Datensätze gehen
> (dann aber mit wesentlich kleineren Satzgrößen). Meine Abfragen laufen aber
> grundsätzlich über Indizes, daher habe ich Dein Problem noch nicht erlebt.


Danke erstmal für die Hilfe-Ansätze...

Marc Albrecht

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive