Datuve :: Forums :: Arhīvs :: MySQL: kā būtu ātrāk/labāk ?

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 70

Reģistrētie lietotāji online: 0

Viesi online: 70

Datuve.lv video
Top.LV

MySQL: kā būtu ātrāk/labāk ?

Ievietoja: hipijs05 @ 2006.08.11 21:46  

Labvakar!

Tātad - taisu nelielu, uz web tehnoloģijām bāzētu, projektu galdniekam Jurim. Viņš ir ļoti dīvains cilvēks, un katram dēlim viņš ir devis savu vārdu, uzvārdu u.c. rekvizītus.

Visus šos dēļus es lieku MySQL datubāzē, tabulā deli . Katram dēlim ir savs unikāls ID (primary key, auto increasment).

Juris ar katru dēli var veikt vairākas darbības - noslīpēt, saīsināt, apēst utt. ... (pieņemsim, ka katrai darbībai atbilst savs skaitlis - 1,2,3 utt.) .

Juris vēlas, lai katram dēlim viņš varētu apskatīties, kādas darbības un kādos datumos viņš ir veicis.

Es šai situācijai redzu divas izejas:
1) SQL tabula darbibas, kuras struktūra būtu apmēram šāda:

. darbības id (primary key, auto increasment) .
. dēļa id .
. darbībai atbilstošais skaitlis.
. datums .

Kad Juris kaut ko gribēs uzzināt par dēli ar ID == X, tad dati tiks atlasīti.
Veiktajām darbībām pieaugot (>10 000), ātrdarbība smagi cietīs (ja nemaldos!).

2) Katram dēlim izveidot attiecīgu "darbību" tabulu - dēlim nr. 1, piemēram, darbības tiks glabātas tabulā darb_1.

. darbības id (primary key, auto increasment) .
. darbībai atbilstošais skaitlis.
. datums .

Šis risinājums piebāztu datubāzi pilnu ar tabulām, jo dēļu skaits džekam ir stabili ap 1000. Kaut kaa neliekas pareizi šādi darīties.

Kā rīkoties?
Kas būtu pareizāk, kādēļ? Vai varbūt ir kādi citi paņēmieni, risinājumi?
Varbūt kāds zina lapu, kurā ir doti kaut kādi (my)SQL datubāžu optimizācijas padomi?

Paldies!