größeeiner "zeile"...

größeeiner "zeile"...

am 13.05.2006 11:26:46 von sylvio runge

Hallo

Gibt es im mysql eine Funktion, die die "etwa" Filegröße (auf dem filesystem) einer "Zeile"
zurueckgeben kann?
Problem; ich will wissen wieviel alle Einträge "etwa" im Filesystem belegen, wo
z.B. p_id=$nummer...

S.

Re: größe einer "zeile"...

am 13.05.2006 14:41:07 von Dominik Echterbruch

sylvio runge wrote:
>
> Gibt es im mysql eine Funktion, die die "etwa" Filegröße (auf dem filesystem) einer "Zeile"
> zurueckgeben kann?
> Problem; ich will wissen wieviel alle Einträge "etwa" im Filesystem belegen, wo
> z.B. p_id=$nummer...

AFAIK gibt es keine MySQL-Funktion, die dir das direkt errechnet.
Allerdings sollte es kein großes Problem sein, sich sowas zu schreiben
(z.B. als Stored Procedure in einer hinreichend aktuellen Version).

Alles was du wissen mußt, ist, welchen Datentyp die Spalte hat und
wieviel Speicher der belegt. Bei bestimmten Datentypen mußt du dann auch
noch schauen, wieviel drin steht. Aber das sollte einer passenden
Standardfunktion ja auch kein Problem sein.

Ersteres verrät dir MySQL ja sehr bereitwillig, wenn du dir mal das
Schema anschaust. Zweiteres findest du im Handbuch [1]. Dort wird den
Datentypen (und deren Platzbedarf) ein ganzes Kapitel gewidmet.

[1] http://dev.mysql.com/doc/refman/5.0/en/storage-requirements. html


Grüße,
Dominik
--
Norbert Melzer in d.c.d.mysql:
F: Wie verstehe ich diese FAQ am besten?
A: Studieren Sie Datanbank-Design und lesen Sie anschliessend alles nochmal

Re: größeeiner "zeile"...

am 13.05.2006 17:02:14 von Thomas Rachel

sylvio runge wrote:

> Hallo
>
> Gibt es im mysql eine Funktion, die die "etwa" Filegröße (auf dem
> filesystem) einer "Zeile" zurueckgeben kann?

Vielleicht suchst Du

> show table status like 'files'\G
*************************** 1. row ***************************
Name: files
Engine: MyISAM
Version: 9
Row_format: Dynamic
Rows: 63060
Avg_row_length: 61
Data_length: 3901432
Max_data_length: 4294967295
Index_length: 2344960
Data_free: 0
Auto_increment: 69503
Create_time: 2006-05-12 20:55:11
Update_time: 2006-05-13 17:00:48
Check_time: 2006-05-12 20:55:43
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0,04 sec)

und davon speziell die Spalten Avg_row_length, Rows und Data_length?

HTH,


Thomas
--
Das Fleisch war willig, aber das Gras war naß.

Re: größeeiner "zeile"...

am 14.05.2006 10:40:25 von sylvio runge

Thomas Rachel wrote:
>
> sylvio runge wrote:
>
> > Hallo
> >
> > Gibt es im mysql eine Funktion, die die "etwa" Filegröße (auf dem
> > filesystem) einer "Zeile" zurueckgeben kann?
>
> Vielleicht suchst Du
>
> > show table status like 'files'\G
> *************************** 1. row ***************************
> Name: files
> Engine: MyISAM
> Version: 9
> Row_format: Dynamic
> Rows: 63060
> Avg_row_length: 61
> Data_length: 3901432
> Max_data_length: 4294967295
> Index_length: 2344960
> Data_free: 0
> Auto_increment: 69503
> Create_time: 2006-05-12 20:55:11
> Update_time: 2006-05-13 17:00:48
> Check_time: 2006-05-12 20:55:43
> Collation: utf8_general_ci
> Checksum: NULL
> Create_options:
> Comment:
> 1 row in set (0,04 sec)
>
> und davon speziell die Spalten Avg_row_length, Rows und Data_length?
>

Naja das ist fuer die ganze Tabelle; ich brauche eigentlich dann bestimmte Teile
davon; hier also was "nutzer" (uid=..) in der Tabelle grob in "etwa" für ein
Speicherplatz belegt. Die Funktion wird man sich wohl "basteln" muessen...
naja auch nict das Problem (ist nur gut zu wissen das man das nicht baut und dann
gibts das schon ;-)....


S.