Datenbanken-Typen

Datenbanken-Typen

am 13.12.2005 14:42:07 von The User

Hallo! ICh habe eine Webdatenbank mit einer Dynamic-MyISAM-Tabelle und
ungefähr 1000000 Datensätzen. Jetzt möchte ich aber, wel die Abfrage
teilweise sehr lange dauert, den Typ in Static-MyISAM ändern. Kann mir
einer sagen, wie das geht?

Danke!!!!!

Re: Datenbanken-Typen

am 13.12.2005 15:29:06 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net

Re: Datenbanken-Typen

am 13.12.2005 15:37:13 von Dominik Echterbruch

ulikoehler@online.de wrote:
> Hallo! ICh habe eine Webdatenbank mit einer Dynamic-MyISAM-Tabelle und
> ungefähr 1000000 Datensätzen. Jetzt möchte ich aber, wel die Abfrage
> teilweise sehr lange dauert, den Typ in Static-MyISAM ändern. Kann mir
> einer sagen, wie das geht?

Eine Tabelle wird immer dann dynamisch, wenn mindestens eine Spalte mit
variabler Länge drin ist (z.B. VARCHAR, BLOB, TEXT usw.). Die einzige
Chance, die Tabelle statisch zu machen ist, alle variablen Spalten
rauszuwerfen bzw. durch statische zu ersetzen (z.B. CHAR usw.).

Das Handbuch kennt dazu auch eine Abhandlung:
http://dev.mysql.com/doc/refman/5.0/en/string-type-overview. html
Alles in allem sehr interessant ist auch der Rest des elften Kapitels.


Grüße,
Dominik
--
MonstersGame - Die Schlacht zwischen Vampiren und Werwölfen
http://spielwelt6.monstersgame.net/?ac=vid&vid=3018786

Re: Datenbanken-Typen

am 13.12.2005 15:39:53 von Axel Schwenke

ulikoehler@online.de wrote:

> ICh habe eine Webdatenbank mit einer Dynamic-MyISAM-Tabelle und
> ungefähr 1000000 Datensätzen. Jetzt möchte ich aber, wel die Abfrage
> teilweise sehr lange dauert, den Typ in Static-MyISAM ändern.

Das wird dich jetzt vielleicht schockieren, aber: die Geschwindigkeit
einer "Abfrage" - wahrscheinlich meinst du ein SELECT Statement - auf
eine MyISAM-Tabelle ist kaum vom Zeilenformat (statisch/dynamisch)
abhängig sondern im wesentlichen von den vorhandenen Indizes.

> Kann mir einer sagen, wie das geht?

Das freundliche Handbuch erklärt, wann MySQL eine Tabelle mit dynamic-
record-length anlegt - im Prinzip dann, wenn es eine oder mehr Spalten
mit nichtkonstanter Breite gibt. Im Umkehrschluß wirst du für eine
Tabelle, deren sämtliche Spalten jeweils konstante Breite haben, das
fixed-record-length Format erhalten.

> Danke!!!!!

http://en.wikipedia.org/wiki/Talk:Exclamation_mark#Multiple_ exclamation_marks.21.21.21


XL

Re: Datenbanken-Typen

am 13.12.2005 15:47:16 von The User

Danke!! Der Vroschlag von Dominik hat mir sehr geholfen (und
mittlerweile ist meine Tabelle auch statisch)
:-)

Re: Datenbanken-Typen

am 13.12.2005 16:04:58 von Dominik Echterbruch

The User wrote:
> Danke!! Der Vroschlag von Dominik hat mir sehr geholfen (und
> mittlerweile ist meine Tabelle auch statisch)
> :-)

Hat es auch bei der Performance was gebracht? Andreas' Hinweis auf
EXPLAIN und dessen Auswertung war nämlich gar nicht so ohne.
Möglicherweise bringt das _signifikant_ mehr, als das umbauen in eine
statische Tabelle.

BTW: Im Usenet wird es als unhöflich empfunden, mit erfundenen Namen zu
posten. Damit vergraulst du potentielle Helfer.


Grüße,
Dominik
--
MonstersGame - Die Schlacht zwischen Vampiren und Werwölfen
http://spielwelt6.monstersgame.net/?ac=vid&vid=3018786

Re: Datenbanken-Typen

am 14.12.2005 17:33:08 von The User

Ich versuch mal, einen Index hinzuzufügen. (Habe heute leider keinen
Zugriff auf die DB).
Den Namen habe ich auch geändert. Ich bin leider noch nicht lange im
Usenet!

Danke!!

Re: Datenbanken-Typen

am 15.12.2005 08:10:31 von Fabian Schladitz

Uli Köhler schrieb:
> Ich versuch mal, einen Index hinzuzufügen. (Habe heute leider keinen
> Zugriff auf die DB).
> Den Namen habe ich auch geändert. Ich bin leider noch nicht lange im
> Usenet!

Dann herzlich willkommen!

Schau bitte bei:
http://learn.to/quote/

vorbei. Dort werden dir einige wichtige Grundlagen erklärt.

Mich verwundert übrigens, dass du dich mit der Datenspeicherarchitektur=
=20
beschäftigst, aber nicht um die Nützlichkeit von Indexen zu wissen sc=
heinst.
So zumindest lese ich diesen Beitrag...

*Kopfschüttel*

--=20
Gruss,
Fabian