Ik zit me af te vragen waarom er in MySQL geen multiple column indices over verschillende tabellen bestaan. Voorbeeldje:
Ik heb een user tabel met daar in een UserID en een Username, en een koppeltabel met daarin onder andere ItemID en UserID (met PRIMARY KEY op ItemID, UserID). Stel, ik wil sorteren op ItemID en vervolgens op UserID. Dit kan prima met de PRIMARY index. Als ik echter eerst wil sorteren op ItemID en vervolgens op Username (na een JOIN natuurlijk), dan moet MySQL gaan filesorten.
Dat zou opgelost kunnen worden door een index aan te maken op (koppeltabel.ItemID, usertabel.Username). Is er een bepaalde reden waarom ik zo'n index niet aan kan maken, of bestaan ze wellicht wél?
Ik heb een user tabel met daar in een UserID en een Username, en een koppeltabel met daarin onder andere ItemID en UserID (met PRIMARY KEY op ItemID, UserID). Stel, ik wil sorteren op ItemID en vervolgens op UserID. Dit kan prima met de PRIMARY index. Als ik echter eerst wil sorteren op ItemID en vervolgens op Username (na een JOIN natuurlijk), dan moet MySQL gaan filesorten.
Dat zou opgelost kunnen worden door een index aan te maken op (koppeltabel.ItemID, usertabel.Username). Is er een bepaalde reden waarom ik zo'n index niet aan kan maken, of bestaan ze wellicht wél?
Sorry, drie woordjes vergeten.Borizz schreef op donderdag 21 september 2006 @ 21:58:
Zover ik weet kent MySQL wel multiple column indices, maar dit werkt natuurlijk niet over meerdere tabellen.
Lijkt me erg sterk dat dit kan.edit: Misschien dat dit in MySQL 5 wel mogelijk is op een view? Maar dat zou ik zo niet weten.
[ Voor 24% gewijzigd door JeRa op 21-09-2006 22:02 ]