Ik ben bezig met een project (overgenomen van een collega die is vertrokken) om een oude dataset te converteren naar de inzichten van 2014. Was vroeger alles in 1 tabel geplempt met heel veel dubbelingen en kolommen die 90% van de tijd niets doen, wordt nu netjes alles in aparte tabellen geplaatst in groepen data die bij elkaar horen en gelinkt met koppeltabellen.
Het gaat in deze kwestie specifiek om een koppeltabel die users aan passen koppelt:
Nu valt het me op als ik simpelweg de eerste 100 rijen selecteer ik een dataset krijg als:
Sorteer ik specifiek op autonumber, dan krijg ik netjes autonumber 1 t/m 100.
PS: Het is op dit punt nog logisch dat een user_id identiek is aan een autonumber.
Nu is de hamvraag: waarom klopt die sortering niet standaard? Als ik het goed heb is bij InnoDB de sortering bepaald door de primary index.
Niet dat het nu héél belangrijk is ofzo, maar ik vraag me wel af hoe dit nu kan.
Het gaat in deze kwestie specifiek om een koppeltabel die users aan passen koppelt:
SQL:
1
2
3
4
5
6
7
8
9
10
| delimiter $$ CREATE TABLE `link_user_pas` ( `autonumber` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) DEFAULT NULL, `pas_id` int(11) DEFAULT NULL, PRIMARY KEY (`autonumber`), UNIQUE KEY `autonumber_UNIQUE` (`autonumber`), UNIQUE KEY `pas_id_user_id` (`pas_id`,`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1$$ |
Nu valt het me op als ik simpelweg de eerste 100 rijen selecteer ik een dataset krijg als:
| autonumber | user_id | pas_id |
|---|---|---|
| 5340 | 5340 | 97732 |
| 5929 | 5929 | 101458 |
| 6375 | 6375 | 102164 |
| 2970 | 2970 | 108476 |
| 12373 | 12373 | 108579 |
| 1386 | 1386 | 108988 |
| 1165 | 1165 | 112132 |
| 10901 | 10901 | 115993 |
| 8353 | 8353 | 118125 |
| 12444 | 12444 | 125496 |
| 6060 | 6060 | 125512 |
Sorteer ik specifiek op autonumber, dan krijg ik netjes autonumber 1 t/m 100.
PS: Het is op dit punt nog logisch dat een user_id identiek is aan een autonumber.
Nu is de hamvraag: waarom klopt die sortering niet standaard? Als ik het goed heb is bij InnoDB de sortering bepaald door de primary index.
Niet dat het nu héél belangrijk is ofzo, maar ik vraag me wel af hoe dit nu kan.
Tjolk is lekker. overal en altijd.