hi uhm ik ben ff me database aan het optimaliseren maar ik vroeg mij af of ik ook een index kon maken op een specieke data in de kolom die ik dus een index will geven
kijk ik heb bv een eindtijd kolom die dus heel veel inputs heeft van jaren (50.000)
echter gaat het mij in meeste gevallen alleen om 00:00:00
het gaat om een soort POS Touchscreen systeem die ik heb gemaakt met een soort stopwatch van bv een uur
de baas drukt op start dan wordt deze in de database gezet onder een starttijd, eindtijd, en een stoptijd
de start tijd is die tijd en dag van dat moment
de eindtijd is zelfde plus een 1 uur
stoptijd is op moment van start 0000-00-00 00:00:00 (DATETIME)
er moeten bepaalde taken gedaan worden door de medewerker binnen dat uur
als klaar is dan drukt de baas op stop en deze tijd wordt dan geupdate onder stoptijd
per willekeurig moment zijn er meestal 10 medewerkers aanwezig die op dat moment een bepaalde taak moeten verrichten
maar ik heb een database vol staan met inputs tot 7 jaar terug
nou heb ik me index al redelijk goed en snel maar als ik dus een index op 0000-00-00 00:00:00 kan zetten dan zou dat enorm schelen
zo ver ik weet zet je enkel een index op een of meerdere kolommen. De rest doe je met je query. Hierbij zorg je dat je enkel de data ophaalt die je daadwerkelijk nodig hebt. Wanneer je telkens weer filtert of sorteert op bepaalde kolommen zou je voor die kolommen een index moeten instellen.
Concreet: je zet een index op kolommen die je in een WHERE of een ORDER BY gebruikt.
Je kunt geen index zetten op specifieke waarden, maar slechts op een kolom of een combinatie van meerdere kolommen.
Sorteer je op twee of meer kolommen tegelijk, dan kun je daarvoor één gecombineerde index definiëren — liefst met kolommen in de volgorde waarin je ze in je queries sorteert, inclusief ASC en DESC voor de sorteerrichting.