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
[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE?[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE? par JeremyJeanson
Avec la sortie de la RC de Visual Studio 2010, Microsoft a mis un peu les points sur le i en ce qui concernait le passage d'arguments. Mais nous somme un certain nombre à avoir pris ce changement comme un méchant coup dur. Pour résumer la situation : à la...
Cliquez pour lire la suite de l'article par JeremyJeanson [RIA SERVICES] INCLUDE ET DOMAINDATASOURCE[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE par Audrey
Dans un de mes articles précédents , j'avais parlé des DomainDataSource avec RIA Services dans le cas d'une interface Maître - Détail. Dans le même principe, je vais parler d'une autre manière de mettre en forme ce cas d'interface avec RIA Services. Et po...
Cliquez pour lire la suite de l'article par Audrey ZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATIONZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATION par ROMELARD Fabrice
Une des nouveautés de la version V 3.0 était l'apparition de l'onglet Social qui ne fonctionnait que si le MarketPlace était activé sur son poste. Cela limitait donc son intérêt, car hors du cadre commercial USA-CANADA, peu de monde trouva...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|