Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/11/2004, 10h50   #1
Membre du Club
 
Inscription : juin 2004
Messages : 66
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 66
Points : 56
Points : 56
Par défaut vue propre ou table crade ? that's the question

Bonjour,
je travaille sous Sql Server 2000.
Je dois optimiser une base de données de 21 tables.
J'ai lu le très bon résumé de SqlPro à ce sujet : http://sqlpro.developpez.com/cours/optimiser/
Mais je n'ai pas trouvé la solution à mon problème. Le voici:
nous avons des fichiers excel (bientot BO) qui repose sur une vue. Cette vue fait appel à de nombreuses jointures externes et fait appel
à d'autres vues aussi. Le temps d'exécution est de l'ordre d'une heure.
Temps inacceptable pour nos clients !!!
Ma direction m'a suggéré de créer une grosse table fourre-tout qui contiendrait le résultat de la vue.
J'ai testé, la création de la table prend 3 heures, mais après les requêtes sur la table sont beaucoup plus performantes que la vue.
Conceptuellement, c'est très crade, mais en temps de réponse cela est satisfaisant.
D'ou ma question: que dois-je faire.
1) faire le porc avec une base de données avec une grosse table fourre-tout et avec des temps de réponses acceptables
2) rester avec ma vue mais avec des temps inacceptables pour mes clients.

Coté optimisation, J'ai indexé et réindexé ma base de données mais coté performance, je n'ai pas énorméménet gagné.


Merci
Chris
Maitre B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2004, 10h55   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
D'autres solutions existent, comme l'indexation des vues.

mais baser des vues sur des vues de vues et le plus sûr moyen d'aller au désastre.

Le mieux est qu'il n'y ait qu'une seule requête quelque soit le nombre de sous requêtes en jeu (donc pas de vue) ou alors une seule vue indexée.

Le fait de tout mettre dans la même table portera ses fruits un temps pour ensuiter venir dégrader d'autres process. Alors là ce sera en plus indémerdable.

Le respect du modèle relationnel avec une bonne indexation et des requêtes intelligement conçues est synonyme de performances.

Sache que je donne un cours sur l'optimisation SQL Server au cas ou...

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2004, 16h19   #3
Membre du Club
 
Inscription : juin 2004
Messages : 66
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 66
Points : 56
Points : 56
Si je comprends bien c une vue bien indexée ou rien.
Je vais donc consacrer consacrer mon optimisation sur l'indexation.

Merci
Chris
Maitre B est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h35.


 
 
 
 
Partenaires

Hébergement Web