Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Performance und Datentypen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Performance und Datentypen


 
TheUser
02-08-2002, 16:59 
 
Wie wirken sich unpassende bzw. ungünstige Datentypen auf die Performance bezüglich des Zugriffs aus?

 
Troublegum
02-08-2002, 17:01 
 
Ungenaue Datentypen verschwenden zumindest Speicherplatz. Ob MySQL dadurch so sehr an Performance einbusst, kann ich nicht sagen, vorteilhaft ist es für die Performance aber sicher nicht.

 
hand
02-08-2002, 17:14 
 
Schließe mich an. Ungenaue Datentypen wirken sich ungünstig auf die Performance aus.
Extremfall: Stell Dir vor Du hast Integerwerte und definierst für diese ein BOLB :rolleyes:

 
TheUser
02-08-2002, 17:23 
 
Original geschrieben von hand

Extremfall: Stell Dir vor Du hast Integerwerte und definierst für diese ein BOLB :rolleyes:


sehr extrem :D

ich dachte eher an fälle, wo z.B. MEDIUMTEXT verwendet wird, obwohl TINYTEXT reichen würde.

gibt es eine möglichkeit, diese unterschiede und die daraus resultierende performance festzuhalten, auzuwerten (eventuell grafisch darstellen) etc.

also eine art benchmark für DBs, sowas gibt es doch bestimmt....

 
hand
02-08-2002, 18:07 
 
Ich denke ob MEDIUMTEXT oder TINYTEXT verwendet wird, spielt betreffend Performance eine vernachlässigbare Rolle, wenn überhaupt.

Man könnte so einen Benchmark selbst irgendwie hinzaubern. Aber ich glaube nicht, daß diese Dinge so einfach meßbar sind. Plattenzugriffe, Cachemechanismen, Hauptspeicher, Parallelprozesse, ...., all das beeinflusst das Antwortverhalten.

Viel einfacher sind Queries zu optimieren, denn da bieten sich viele Faktoren an, die das Antwortzeitverhalten negativ beeinflussen könnten. Wenn diese optimiert sind, erst dann kann man daran gehen weiter zu forschen. Da ist es aber sicher schon einfacher Memory oder performantere Platten zu kaufen. Über Parameter läßt sich MySQL selbst tunen, denn es ist schon ein Unterschied ob vornehmlich die Daten lediglich abgefragt werden, die Daten hauptsächlich verändert, oder hauptsächlich Records eingefügt werden.

Wenn man sich über die wesentlichen Dinge wie Integer nach Integer im Klaren ist und dann noch in einem vernünftigen Maß die Indizes legt, dann glaube ich hat ein Programmierer schon immens viel zur resourcenschonenden Nutzung einer DB beigetragen.

Datentypen lassen sich über Export/Import relativ einfach nachjustieren. Weniger easy ist das mit dem Datenmodell, wenn bereits Programme auf selbigem aufbauen.

Es gibt kein Standard-Rezept zur Erstellung "performanter DB-Applikation". Es ist eine Mischung zu vieler Faktoren. Mitunter kann man ein hyperperformantes Datenmodell kreieren mit dem Resultat, daß es kaum möglich ist einfache Queries abzusetzen und das widerspricht voll und ganz der Usability.

 
Titus
02-08-2002, 20:18 
 
Vielleicht ist das hier hilfreich: The Open Source Database Benchmark (http://osdb.sourceforge.net/)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:35 Uhr.