Hi,
Je mehr Dateien in einem Verzeichnis liegen, desto länger dauert also schon das Finden der Datei.
Ok, dann verteile ich es einfach auf Unterordner. 100 Thumbs pro Ordner sollte doch kein Problem darstellen?
normalerweise nicht. Auch rund 1000 sind erfahrungsgemäß noch okay, aber da würde ich dann irgendwann einbremsen.
Auch das kommt wieder auf die Organisation der Tabelle an. Wenn die Spalte mit der ID als sortierrelevanter Schlüssel festgelegt ist, existiert ein Index, mit dessen Hilfe das DBMS den gesuchten Eintrag mit wenigen Zugriffen auffinden kann. Andernfalls wird auch hier eine lineare Suche erforderlich.
Ich werde wohl eine separate Tabelle für jeden User anlegen, wo die Tabs gespeichert sind. Das wäre wohl die einfachste Möglichkeit?
Das würde dann auf mehrere Tabellen mit derselben Struktur hinauslaufen. Schlechtes Datenmodell. Gleichartige Daten gehören normalerweise in *einer* Tabelle gespeichert.
-- Tabellenstruktur für Tabelle tablink
CREATE TABLE
tablink
(
id
int unsigned NOT NULL auto_increment,
userid
int NOT NULL,
groupid
int NOT NULL,
position
int NOT NULL,
link
varchar(250) collate utf8_unicode_ci NOT NULL,
title
varchar(150) collate utf8_unicode_ci NOT NULL,
imgsrc
varchar(250) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=9 ;
Welche Daten sind im Normalfall suchrelevant, nach welchen wird üblicherweise abgefragt? \*Das\* solltest du dir überlegen und dann darauf den Index (Primary Key) legen, gern auch auf eine Kombination zweier Spalten. Ich könnte mir da userid+groupid vorstellen. Damit bekommst du zwar keine Eindeutigkeit, aber brauchst du die?
Ist die "künstlich" produzierte id-Spalte für irgendwas relevant? Dient sie zum Referenzieren des Datensatzes in Kombination mit einer weiteren Tabelle? Wenn sie keinen konkreten Zweck hat, würde ich sie weglassen und userid+groupid zum Finden verwenden.
> Und dann wollte ich nach „User“, und anschliessend nach Gruppen aussortieren.
Sag ich's nicht ... ;-)
> Das dürfte aber dann wohl problematisch werden, wenn ich Daten von 100.000 Usern in dieser einen Tabelle hätte? Das liest sich schon so.
Nein. Klar, bei einer Datenhaltung in Textdateien oder CSV hätte ich da auch schon langsam Bauchweh. Aber unterschätze nicht die Leistungsfähigkeit von modernen Datenbanksystemen.
So long,
Martin
--
[Gott hilft niemandem](http://forum.de.selfhtml.org/?t=134084&m=869527), er erfreut sich nur an unseren Leiden.
(Ashura)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(