Ik heb voor een van mijn projecten een kleine tabel (MyISAM, 704 rijen, 120KB) waarin ik onder andere een kolom (INT(10) UNSIGNED NOT NULL) heb. Hierin heb ik bits gebruikt om 9 onafhankelijke kwalificaties op te slaan, dus van 1 tot en met 512. Bij de implementatie heb ik ervoor gekozen om van meestgebruikt naar minstgebruikt te gaan, dus 1 komt het vaakst voor, daarna 2 en als laatste 512 (ongeveer). Nu blijkt echter dat zoeken op met name de eerste bit vrij langzaam is.
Ik gebruik als query een WHERE flags & 1. Toen ik merkte dat het niet bijzonder snel was (hij moet bij deze query iets van 300 rijen ophalen) heb ik uiteraard een INDEX op het veld gezet. Ik ben echter nog steeds niet erg onder de indruk van de performance.
Zijn er manieren om dit wat sneller te doen verlopen? Heeft iemand hier ervaring mee? Zou het wellicht helpen om de meestgebruikte juist een van de hogere bits te geven (omdat de index dan misschien effectiever gebruikt wordt)? Tips zijn welkom.
Ik gebruik als query een WHERE flags & 1. Toen ik merkte dat het niet bijzonder snel was (hij moet bij deze query iets van 300 rijen ophalen) heb ik uiteraard een INDEX op het veld gezet. Ik ben echter nog steeds niet erg onder de indruk van de performance.
Zijn er manieren om dit wat sneller te doen verlopen? Heeft iemand hier ervaring mee? Zou het wellicht helpen om de meestgebruikte juist een van de hogere bits te geven (omdat de index dan misschien effectiever gebruikt wordt)? Tips zijn welkom.
Rustacean