Goededag,
Ik ben wat mogelijkheden aan het verkennen voor een applicatie, en een belangrijk onderdeel ervan is een filter functie. Je kent het wel, je krijgt eerst alle vakanties te zien. Dan kan je zeggen laat alleen Italie zien, daarna laat alleen vakantie tussen de 500-700 euro zien enz. enz.
Nu kan ik dat heel mooi en fancy zelf programmeren; maar ik vind het zo'n standaard probleem dat ik met niet kan voorstellen dat er geen best practice voor is. Dit gaan gebeuren in PHP icm MSSQL, maar opzich zou dat verder niet uit hoeven maken. Het gaat meer om het concept, dus een Java voorbeeld is ook goed. Op dit moment heb ik het volgende:
1. Er is een datamodel met een hele grote {productID, keyID, value} tabel. Hierin sla je bijvoorbeeld op {Italie, prijs, 530}. (Waarbij Italie en prijs stiekem verwijzingen zijn naar de ID's die daarbij horen). 80% van de keys hoeft nooit op gefilterd te worden.
2. De keys waarop gefilterd moet worden moeten configureerbaar zijn. Echter is dit een handmatig proces.
3. De database wordt slecht 1x/nacht geupdate
Mijn suggestie is nu om over deze tabellen een VIEW heen te leggen, waardoor er een virtuele tabel bestaat bestaande uit (bijvoorbeeld): {productID, prijs, land, aantal-dagen} Voordeel is dat deze virtuele tabel automatisch geupdate wordt bij aanpasseingen. Als je hier de juiste indexes op zet zou je heel makkelijk kunnen zeggen:
SELECT productID FROM filterTable WHERE prijs > 500 AND prijs < 700 AND land = Italie.
Dus eigenlijk twee vragen:
1. Kent iemand een best practice/framework/methode voor dit vraagstuk?
2. Ziet iemand problemen/verbeteringen bij bovenstaande aanpak.
Ik ben wat mogelijkheden aan het verkennen voor een applicatie, en een belangrijk onderdeel ervan is een filter functie. Je kent het wel, je krijgt eerst alle vakanties te zien. Dan kan je zeggen laat alleen Italie zien, daarna laat alleen vakantie tussen de 500-700 euro zien enz. enz.
Nu kan ik dat heel mooi en fancy zelf programmeren; maar ik vind het zo'n standaard probleem dat ik met niet kan voorstellen dat er geen best practice voor is. Dit gaan gebeuren in PHP icm MSSQL, maar opzich zou dat verder niet uit hoeven maken. Het gaat meer om het concept, dus een Java voorbeeld is ook goed. Op dit moment heb ik het volgende:
1. Er is een datamodel met een hele grote {productID, keyID, value} tabel. Hierin sla je bijvoorbeeld op {Italie, prijs, 530}. (Waarbij Italie en prijs stiekem verwijzingen zijn naar de ID's die daarbij horen). 80% van de keys hoeft nooit op gefilterd te worden.
2. De keys waarop gefilterd moet worden moeten configureerbaar zijn. Echter is dit een handmatig proces.
3. De database wordt slecht 1x/nacht geupdate
Mijn suggestie is nu om over deze tabellen een VIEW heen te leggen, waardoor er een virtuele tabel bestaat bestaande uit (bijvoorbeeld): {productID, prijs, land, aantal-dagen} Voordeel is dat deze virtuele tabel automatisch geupdate wordt bij aanpasseingen. Als je hier de juiste indexes op zet zou je heel makkelijk kunnen zeggen:
SELECT productID FROM filterTable WHERE prijs > 500 AND prijs < 700 AND land = Italie.
Dus eigenlijk twee vragen:
1. Kent iemand een best practice/framework/methode voor dit vraagstuk?
2. Ziet iemand problemen/verbeteringen bij bovenstaande aanpak.