Vragen over Indexen SQL Tabel

RobertJB66

Gebruiker
Lid geworden
2 feb 2022
Berichten
222
In een SQL database worden veel statistische data van meetsystemen opgeslagen.
Iedere 5 minuten worden o.a. de volgende gegevens opgeslagen.

KeyID, Datum, Tijd, Jaar, Maand, Dag, Locatie, LijnNr, Batch, Product, Gemm, StDev, Aantal, etc

In het front-end gedeelte kan deze data d.m.v. Query's gefilterd worden.
Hierbij zijn alleen Jaar, Maand, Dag, Locatie, LijnNr, Batch, Product zaken die gebruikt worden om op te filteren.

Nu heeft op dit moment de tabel geen Index en duurt het soms best lang voor dat de resultaten van een Query zijn uitgevoerd.

Wat is nu de beste manier om een Index te maken?
Moet ik een index maken per deel, dus idx_Jaar, idx_maand, idx_Dag etc. of is het één index met al deze zaken er in.

Over een dag kan één meetsysteem voor meerdere uren data sturen, iedere 5 minuten waarvan Gemm, StDev, Aantal, etc allemaal uniek kunnen zijn, maar de Jaar, Maand, Dag, Locatie, LijnNr, Batch, Product zijn allemaal gelijk.

Wat is nu de juiste aanpak om ervoor te zorgen dat bij het uitvoeren van de Query de data snel wordt weergegeven.

Zonder index lijkt het erop dat dat er door de gehele tabel wordt gescand op zoek naar de regels welke voldoen aan de query.
 
Misschien met zoiets?

https://powerquery.how/table-buffer/

Om deze inhoud te bekijken, hebben we jouw toestemming nodig om cookies van derden te gebruiken.
Voor meer gedetailleerde informatie, zie onze cookiespagina.
 
Laatst bewerkt:
Peter dank je wel.
Het front end is echter een Access deel dat via ODBC verbinding maakt.
Bij mij weten heeft Access geen powerquery zaken in zich.
 
Access geen powerquery zaken in zich
Acces heeft idd geen power query zaken in zich maar kan wel samenwerken met Acces.
Tevens kan power query ook heel goed om gaan met een ODBC verbinding.

Om deze inhoud te bekijken, hebben we jouw toestemming nodig om cookies van derden te gebruiken.
Voor meer gedetailleerde informatie, zie onze cookiespagina.
 
Na wat extra onderzoek hierbij mijn vraag nog wat nauwkeuriger.

Is het verstandig om een enkele kolom index te maken of is het beter om een multi kolom index te maken?

De code in Access om de query uit te voeren ziet er als hier onderuit.

Code:
    Set qdf = db.QueryDefs("EECQ_PTQ") ' Pass Through Query 2
        qdf.SQL = "SELECT Top 500 * FROM EECQ_View WHERE " & ptFilter & " ORDER By PRID Desc"
    Set qdf = Nothing

De Query die komt kunnen als hieronder zijn weergegeven:

1. ptFilter = "" (de query is dan leeg geen criteria)
2. ptFilter = "Jaar = 2025 And Maand = 10"
3. ptFilter = "Locatie = Edam And Jaar = 2025 And Lijn_Nr = Lijn-01"
 
Terug
Bovenaan Onderaan