Accueil > Forum > > > > Besoin conseils pour optimiser des requetes lourdes !!
Besoin conseils pour optimiser des requetes lourdes !!
vendredi 18 janvier 2008 à 19:37:28 |
Besoin conseils pour optimiser des requetes lourdes !!

g0ldstein
|
Bonjour à tous,
Je désire développer un système de réservations par calendrier pour un
site où les gens peuvent annoncer leurs maisons, villas à louer.
J'aimerais avoir l'avis de gens qui s'y connaissent bien en structure de base de données.
Le système doit pouvoir indiquer certains jours qui sont libres, et d'autres où c'est déjà loué.
J'ai donc une table comme celle-ci:
adId - ID de l'annonce (index) date - le jour correspondant status - Loue, ou pas loue le jour de la date ci dessus
avec 365 rangées pour tous les jours de l'année suivant le jour d'aujourd'hui.
Je
pensais peut-être utiliser des périodes de jours (debut / fin) à la
place, mais évidemment ça ne peut pas marcher très bien, parce que dès
que l'utilisateur va vouloir modifier le status de certains jours, ça
va devenir compliqué et en plus inutile de faire ça comme ça.
Me voilà donc avec ce systeme d'enregistrement qui comporte 365 rangées de données par maison à louer.
Admettons que j'arrive avec 5 000 clients qui louent chacun une maison, ça me donne 1 825 000 lignes de données, c'est énorme...
Sachant
que lorsque quelqu'un visite la page de la maison à louer, je fais un
SELECT du numero de l'annonce pour pouvoir montrer un calendrier des
dates demandées pour voir si elles sont libres ou pas.
..
j'aimerais savoir si mon application s'en trouvera ralentie, et si oui,
à quel point... et si vous avez une idée de comment faire ça à la place
ne vous gênez pas pour me le dire,
merci !!
|
|
vendredi 18 janvier 2008 à 20:26:02 |
Re : Besoin conseils pour optimiser des requetes lourdes !!

malalam
|
Réponse acceptée !
Hello,
juste une remarque : pourquoi stockes-tu en base de données les jours ou ta maison est libre...? Si tu ne stockais que les jours d'occupation, et que dans ton application, tu remplisses les blancs, tu allègerais sérieusement ta base. Très sérieusement. Maintenant 1 825 000 lignes, c'est très gérable si ta table est bien indexé. ce qui me fait bcp plus peur, c'est quand tu parles de 365 rangées : tu as une table avec 368 champs...? Si oui, l'idée est mauvaise. A minima, pour faire simple : 1 table d'annonces (id annonce, lieu, etc...texte annonce...id utilisateur tant qu'à faire) 1 table "calendrier" avec juste l'id de ton annonce, et une date (d'occupation, j'insiste...). 1 table utilisateur (id utilisateur, infos diverses utilisateur)
|
|
lundi 21 janvier 2008 à 12:12:44 |
Re : Besoin conseils pour optimiser des requetes lourdes !!

codefalse
|
Je dirai comme Malalam, tu met dans une table tes données des jours réservés, et pour l'affichage du calendrier, tu récupere les dates, les dates réservées, et tu les compares, et hop :)
|
|
mardi 22 janvier 2008 à 12:04:55 |
Re : Besoin conseils pour optimiser des requetes lourdes !!

g0ldstein
|
Bonjour, très bien merci pour l'idée des jours dont l'occupation n'est pas spécifiée, ça va certainement alléger le tout, je doute que les utilisateurs les remplissent tous. Peut-être même que certain ne géront pas du tout le calendrier.
Malalam, le truc c'est que j'utilise le composant AdsManager pour Joomla, je sais pas si tu connais. Donc il y a une table pour les annonces et pour plein d'autres trucs. Moi je fais un module pour que les user gèrent leur calendrier, et donc il n'y a en effet que très peu de champs, 3 (ceux dans mon post de depart).
Ça me rassure que tu dises que ça soit bien gérable. Je ne met qu'un index sur le adId (ID de l'annonce) pour l'instant, crois tu que je devrais en mettre un sur la date aussi? C'est vrai que les index ralentissent les UPDATE ? Que me conseilles-tu?
Merci infiniment pour vos réponses très constructives.
|
|
mardi 22 janvier 2008 à 19:53:31 |
Re : Besoin conseils pour optimiser des requetes lourdes !!
|
mardi 22 janvier 2008 à 20:01:46 |
Re : Besoin conseils pour optimiser des requetes lourdes !!

malalam
|
Je ne connais que très mal Joomla et "up" ne sert à rien si ce n'est à spammer les gens qui se sont inscrits à ton post...j'avais déjà vu ton message. Je ne suis pas convaincu qu'ujn index ralentisse un update. Mais bon, si tu l'as lu, c'est peut-être vrai : pose-toi la question...vas-tu faire plus d'update que de select...?
|
|
mercredi 23 janvier 2008 à 11:20:42 |
Re : Besoin conseils pour optimiser des requetes lourdes !!

g0ldstein
|
Désolé, je ne pensais pas que ça envoyait un courriel à chaque nouveau message. Merci pour ta réponse !
|
|
Cette discussion est classée dans : données, jour, maison, jours, louer
Répondre à ce message
Sujets en rapport avec ce message
Mise à jour [ par stelline ]
Bonjour!Je recherche de l'aide pour une mise à jour en php.Je vous explique. J'ai une page "evenements" (sorte de calendrier) qui est en html où j'ai
Mettre à jour données d'une table [ par yonico ]
Petite question d'un debutant :je voudrais mettre à jour les données d'une table mais je n'y arrive pas voilà ce que j'ai mis :$reponse = mysql_query(
PHP probleme de boucle avec dates [ par infosub ]
Bonjour, je suis confronté à un petit problème de boucle pour ajouter plusieurs jour à une date.. le script ci-dessous calcule le nombre de jours entr
Nombres de jours entre 2 dates! [ par jimmy69 ]
Bonjour a tous,Voila j'ai un p'tit stress ....si quelqu'un pouvait m'aider!En fait j'enregistre mes donnees ds une table mysql , des donnees comme le
mise à jour base de donnée [ par billy67000 ]
Bonjour, lorsque j'inserre des données dans un base mysql et ensuite je click sur refersh (ou actualiser) de mon browser, les mêmes données sont à nou
datetime J+30 = delete [ par Alpha911 ]
Bonjourvoila j'ai in probleme de taille ...j'ai un datetime dans une base de données et je souhaite absolument concerver le datetime.j'aimerais que 60
Afficher les jours de la semaine... [ par stevethx27 ]
Bonjour,je tente (en vain) d'afficher sur une ligne les jours de la semaine. J'ai utilisé un script trouvé sur le site que j'ai modifié et ça donne ma
[php] fonction while [ par kikong ]
Bonjour la communauté! Voila, je code un calendrier en php/mysql, et j'ai un petit problème. Enfait, j'ai fais une boucle permettant de prendre toute
mise à jour à distance [ par niceusef ]
salut,je suis débutant dans les applications web et j'ai besoin d'aide SVP...j'ai une application à réaliser qui fait la mise à jour des sites web à d
Mise à jour champ [ par flopad ]
Bonjour, je rencontre un problème lors de la mise à jour d'un enregistrement dans ma bdd :j'ai un champ qui a une valeur X, je voudrais savoir comment
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|