Fuldstændig enig. Lyt til Troels i denne sammenhæng. 100K records er
småting. Faktisk er 1 mio. records at betragte som småting for en
moderne database server, selv på en forholdvis lille maskine rent
hardware mæssigt.
- Jesper
Troels Arvin wrote:
> On Thu, 30 Dec 2004 01:34:17 +0100, Anders K. Jacobsen wrote:
>
>
>>Alle 3 tabeller vil med tiden løb have ca. 100.000 rækker
>>
>>Vil jeres vurdering være at alle 3 tabeller uden store hastighedsproblmer
>>kan joines naturligvis med indexere på nøglerne?
>
>
> Der er mange måder at join'e på.
>
> Et betingelsesløst join (kartesisk produkt / CROSS JOIN) vil være grimt
> at håndtere (100000^3 rækker), men den slags joins er normalt aldrig
> interessante:
>
> SELECT * FROM tab1 CROSS JOIN tab2 CROSS JOIN tab3;
> - alternativt:
> SELECT * FROM tab1 JOIN tab2 ON (1=1) JOIN tab3 ON (1=1)
>
> I praksis vil man join'e med nogle betingelser, der gør, at
> resultatsættene får et håndtërbart antal rækker - og man vil normalt
> også kun bede om at få returneret visse af kolonnerne:
>
> SELECT foo,bar,baz
> FROM tab1
> JOIN tab2 ON (tab1.col1=tab2.col2)
> JOIN tab3 ON (tab2.col2=tab3.col3)
>
> Svaret på dit spørgsmål er efter min mening: "Ja, du kan sagtens join'e
> tre tabeller i den størrelse, når blot du ikke gør stupide ting".
>
>
>>Har ikke erfaringer med så mange data i tabeller samtidig med at alle 3 skal
>>joines.
>
>
> Tabeller med 100000 rækker være barnemad for ethvert databasesystem med
> respekt for sig selv. Men hvis du skriver dårlige forespørgsler, kan
> selv endnu mindre tabeller rækker give problemer.
>