/ / Je index viacerých polí v MySQL dobrou voľbou? - mysql, sql, databáza, výkon, indexovanie

Je mnoho polí v MySQL dobrou voľbou? mysql, sql, databáza, výkon, indexovanie

Mám obrovský súbor údajov. Štruktúra vyzerá takto:

K_Field1, K_Field2, K_Field3, K_Field4, D_Field5, D_Field6, D_Field7, D_field8

Problém je v tom, že iba prvé 4 pole (K_Field1,K_Field2,K_Field3,K_Field4) spoločne identifikujú riadok jedinečne. Vytvoril som jednu tabuľku a tieto polia používam ako svoje polia.

Povedzme, že v tabuľke mám 1 milión riadkovpomocou tejto štruktúry. Ak importujem nový záznam, musím sa rozhodnúť, či už je v databáze. Ak je, musím ho aktualizovať, ak nie, potom musím vložiť nový riadok.

Aby som to mohol urobiť, musím dať index viacerých polív prvých 4 stĺpcoch, čo je - obávam sa - nie je najlepším riešením. Existuje lepšia štruktúra databázy na ukladanie a vyhľadávanie v týchto údajoch, alebo musím žiť so štvormiestnym indexom?

Používam MySQL

odpovede:

5 pre odpoveď č. 1

Pri vytváraní indexu v prvých 4 stĺpcoch nie je nič zlé: v skutočnosti by ste mali:

create unique index mytable_key on mytable(K_Field1,K_Field2,K_Field3,K_Field4);

pretože to je realita vašej situácie.

Je to tiež „správne“ riešenie.