php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.10.2005, 09:53  
Gast
 
Beiträge: n/a
Standard Ist das Leeren von Feldern sinnvoll?

Hallo zusammen

Ich hab eine grosse (ca. 100'000 Datensätze) MyISAM-Tabelle.

Bei älteren Datensätzen sind gewisse Informationen nicht mehr nötig; es wäre also möglich, diese Felder zu leeren oder auf Null zu setzen. Konkret könnte man so bei ca. 90 % der Datensätze 15 von 24 Felder leeren.

Wird dadurch weniger Festplattenspeicher benötigt? Und wäre das auch performance-mässig sinnvoll?

Liebe Grüsse,
Janosh
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.10.2005, 10:39  
Erfahrener Benutzer
 
Registriert seit: 08.05.2005
Beiträge: 814
andy
andy eine Nachricht über ICQ schicken
Standard

Je nach dem wie deine Queries aussehen könnte sich die Performance erhöhen.
Weniger Festplattenverbauch ist klar, nur wie viel das letztendlich ist...
__________________
Zitat:
Diese Erweiterung ist EXPERIMENTELL.
[...]
Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..
andy ist offline   Mit Zitat antworten
Alt 14.10.2005, 10:45  
Erfahrener Benutzer
 
Registriert seit: 16.03.2005
Beiträge: 421
Niedi
Niedi eine Nachricht über ICQ schicken
Standard

Weiß es zwar nicht, aber ich denke mir wenn du immer nur die Datensätze abrufst die du auch benötigst, wird sich da nicht viel ändern.

aber wie gesagt.. reine theorie *g*
Niedi ist offline   Mit Zitat antworten
Alt 14.10.2005, 13:14  
Gast
 
Beiträge: n/a
Standard

Die meisten Feldtypen sind varchar(100). Vielleicht hat das noch Einfluss?
Ausserdem ist keines der betroffenen Felder indexiert.

Kann man behaupten: Kleinere Dateigrösse = bessere Performance?

Gruss,
Janosh
  Mit Zitat antworten
Alt 14.10.2005, 13:20  
Gast
 
Beiträge: n/a
Standard

Behaupten kannst Du erstmal alles
Bei allen Optimierungen und sonstigen Tricks der Datenbank und dem zugrundeliegenden Dateisystem wird ein riesiger Datenhaufen wohl doch ein wenig länger zum Bearbeiten brauchen als ein kleinerer.
Varchars nehmen tatsächlich abhängig vom Inhalt unterschiedlich viel Platz ein.
Wenn Du sie auf "" setzt, wird der Platz aber nicht sofort freigegeben.
Dazu muss die Tabelle reorganisiert werden und das muss explizit aufgerufen werden.
http://dev.mysql.com/doc/mysql/en/OPTIMIZE_TABLE.html
  Mit Zitat antworten
Alt 14.10.2005, 13:22  
Erfahrener Benutzer
 
Registriert seit: 08.05.2005
Beiträge: 814
andy
andy eine Nachricht über ICQ schicken
Standard

Man kann behaupten weniger/genauer selektierte Datensätze = höhere Performance.
__________________
Zitat:
Diese Erweiterung ist EXPERIMENTELL.
[...]
Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..
andy ist offline   Mit Zitat antworten
Alt 14.10.2005, 14:17  
Gast
 
Beiträge: n/a
Standard

Guter Tipp mit dem optimize-Befehl.
Klar kann man alles behaupten ich meinte es ja auch nicht so :P

Danke für die Antworten.
  Mit Zitat antworten
Alt 15.10.2005, 20:39  
Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 86
Ricochet
Standard

Felder leeren bring nur unwesentliche performance-Steigerung.
Bei der Größe der Tabelle würde ich eher das Tabellenformat auf 'starr' umstellen.
Das macht das Finden von Einträgen VIEL schneller, da bei einer festen 'Zeilenlänge' das finden der Datenposition wesentlich einfacher wird (länge * index = position).
Dazu einfach von varchar auf char umstellen.

Aber wenn du auf die ganzen Spalten eh verzichten kannst, kannst du dann die alten Einträge nicht gleich ganz raus schmeißen?
__________________
Tabellenlayouts sind out, Browsergames sind schei$$e und die Erde ist eine Scheibe.
Ricochet 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
Klassen sinnvoll nutzen, Grundlegendes nikosch PHP-Fortgeschrittene 1 30.09.2006 22:08
fulltext - ft_min_word_len="1" sinnvoll? mrSpok Datenbanken 2 15.03.2006 14:03
Einsatz von Java-Script in PHP sinnvoll rudolfs PHP Tipps 2006 1 22.01.2006 14:56
zählen in mehreren Feldern jens76 Datenbanken 4 01.11.2005 13:39
PHP - Profil - Datei auf Useranfrage schreiben - sinnvoll ? Asipak PHP Tipps 2005-2 2 29.10.2005 22:50
Variablen leeren themonk PHP Tipps 2005-2 6 28.10.2005 16:17
[Erledigt] Komplizierte Suchen in 2 Feldern Datenbanken 3 01.09.2005 09:58
Eine Selectbox leeren und ne andere auffüllen Igäl HTML, Usability und Barrierefreiheit 2 16.06.2005 14:49
[Erledigt] Tabelle leeren Datenbanken 1 03.01.2005 19:52
Leeren Datensatz editierbar machen Anuschka PHP Tipps 2004-2 1 27.12.2004 13:28
In leeren Feldern tauchen auf einmal Daten auf PHP Tipps 2004-2 2 15.12.2004 22:27
[Erledigt] Order by (differenz aus zwei feldern) Datenbanken 2 16.11.2004 14:47
wie sortier ich ein array nach leeren und fefuellten feldern PHP Tipps 2004 3 11.09.2004 23:47
Leerfeld im Array sinnvoll ?? PHP Tipps 2004 7 15.07.2004 23:05
Tägl. Datenbank leeren PHP Tipps 2004 7 05.07.2004 21:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php felder leeren, das leeren

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 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.