Bonjour,
Je dois développer une appli qui est un calendrier de réservations.
Ce calendrier indique simplement jour par jour un attribut binaire libre ou occupé.
Le planning est géré sur 2 années glissantes à partir de la date actuelle.
A terme le service devrait gérer jusqu'à 5.000 plannings et on peut penser avoir jusqu'à 10.000 consulations de planning par jour...
Je me pose la question de la modélisation des données en BDD...
Basiquement, on peut faire un enregistrement par date en indiquant la disponibilité, mais cela va donc générer jusqu'à 700 enregistrements par planning. De plus pour chaque consultation, chauqe jour affiché génèrera une requête MySQL ce qui me semble un peu important.
Aussi pour minimiser les requêtes SQL, je pensais enregistrer une chaine de caractères pour chaque année. Dans cette chaine, on retrouve autant de caractères que le nombres de jour de l'année et on associe par exemple la valeur 0 si l'attribut est libre et 1 s'il est occupé. Le premier caractère représente l'état de disponibilité du premier jour de l'année et anisi de suite...
Ceci génère plus de traitements au niveau de PHP, mais minimise les requêtes SQL...
Une solution intermédiaire est aussi de stocker mois par mois plutôt qu'année par année...?
Qu'en pensez-vous?
Y-a-t-il une meilleure solution à laquelle je n'aurais pas pensé?
Merci par avance pour vos conseils ;-)
Je dois développer une appli qui est un calendrier de réservations.
Ce calendrier indique simplement jour par jour un attribut binaire libre ou occupé.
Le planning est géré sur 2 années glissantes à partir de la date actuelle.
A terme le service devrait gérer jusqu'à 5.000 plannings et on peut penser avoir jusqu'à 10.000 consulations de planning par jour...
Je me pose la question de la modélisation des données en BDD...
Basiquement, on peut faire un enregistrement par date en indiquant la disponibilité, mais cela va donc générer jusqu'à 700 enregistrements par planning. De plus pour chaque consultation, chauqe jour affiché génèrera une requête MySQL ce qui me semble un peu important.
Aussi pour minimiser les requêtes SQL, je pensais enregistrer une chaine de caractères pour chaque année. Dans cette chaine, on retrouve autant de caractères que le nombres de jour de l'année et on associe par exemple la valeur 0 si l'attribut est libre et 1 s'il est occupé. Le premier caractère représente l'état de disponibilité du premier jour de l'année et anisi de suite...
Ceci génère plus de traitements au niveau de PHP, mais minimise les requêtes SQL...
Une solution intermédiaire est aussi de stocker mois par mois plutôt qu'année par année...?
Qu'en pensez-vous?
Y-a-t-il une meilleure solution à laquelle je n'aurais pas pensé?
Merci par avance pour vos conseils ;-)