|
|||||||
| Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL |
|
|
Publicité ' | |||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 |
|
Invité de passage
![]() viper viper Inscription : septembre 2008 Messages : 25 ![]() |
Bsr à tous..
J'aimerais avoir votre avis d'expert sur ce sujet. J'ai une table de base de données sql server 2008 R2 mise à jour chaque jour avec 1 000 000 d'enregistrements. Et je comptais créer une vue indexée filtrant certaines colonnes de la table. Ma question est la suivante, en exploitant cette table pendant 6mois à quels problèmes puis-je être confrontés. Merçi |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Bonjour,
Il faudrait en premier lieu avoir la ddl de votre table concernes par la vue, les index associes et la ddl de votre vue. ++ |
|
00
|
|
|
#3 |
|
Membre Expert
![]() |
Dans les grandes lignes imaginez que votre vue indexée réagira comme si c'était une table comme une autres.
Les gains les plus interessant pour les vues indexées sont les requêtes faisant intervenir des agregats qui peuvent limiter de manière drastique les IO. En revanche vos insertion/maj sur la table son pénalisés du fait de la nécessité de maintenir la vue indexée à jour... Voyez ceci: http://sqlpro.developpez.com/optimisation/indexation/
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#4 |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 158 ![]() |
Lorsque vous dites 6 mois, est ce la durée de rétention des données dans votre table ?
A priori 6 mois de données à 1M de row par jour vous fera environ 180M de lignes. Selon la taille d'une ligne (il faut la DDL pour le dire) le volume de votre table risque vite de grossir. Par soucis de maintenabilité et de performances, demandez vous si cette table n'est pas une bonne candidate au partitionning. Prévoyez de l'espace disque en conséquence aussi. |
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() |
Citation:
Et si votre edition d'SQL SERVER vous le permet bien!
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() viper viper Inscription : septembre 2008 Messages : 25 ![]() |
Merci à tous pour vos apports..
Voiçi la structure d'une des tables : Code :
|
||
|
|
01
|
|
|
#7 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
euh???
pourquoi tant de Nvarchar? surtout pour des champs comme callDuration ou roamingNumber ?? C'est pour les performances ?
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() |
OMG!!!
C'est un produit scalaire de 10 tables çà???
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
10
|
|
|
#9 | |
|
Membre Expert
![]() |
Citation:
C'est une atrocité, revoyez vos typages vous ferait économiser quelques disques dur à vos employeur!!! Les SGBD ne sont pas un fourre tout!!! Les dates en varchar(Nvarchar en plus complétement inutile...)!!! Passez déjà tous les champs ne stockant que des caratères latin en varchar vous serez surpris... Passez les entiers en INT etc... Pensez également aux CHAR pour les colonnes de longueur fixe... Mais surtout revoyez votre modélisation si vous le pouvez encore, il est clair que cette table peut être 'éclatée', vous allez droit dans le mur... Pour votre vue, peut être pouvez vous filtrer également sur une date minimale (par exemple les 6 derniers mois), si vous parvenez à retrouver une date dans vos colonnes bien sur!!!
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
10
|
|
|
#10 | ||||
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Je passe tous les commentaires déjà fait par les autres membres du forum.
Votre table ne respecte pas les règles de modélisation. Si vous pouvez il est effectivement urgent de le modifier. Ceci dit je vais partir du principe que vous n'avez pas la maitrise de celui-ci. Votre vue indexé ici est inutile à mon avis. Vous pouvez tout à fait modifier votre index [IX_MOC_RecordParRoute] pour que ce dernier soit couvrant de la façon suivante : Code :
Code :
|
||||
|
00
|
|
|
#11 | ||||
|
Membre Expert
![]() |
Citation:
Citation:
Code :
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
||||
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
C'est pas une table... C'est =un fichier Cobol. Vous en êtes resté aux années 60 de l'informatique et vous aurez beau mettre toutes les vues indexées de la terre, votre solution sera toujours pourrie !
Commencez par respecter ce qu'est un SGBD relationnel, c'est à dire fait pour gérer des relations et son des fichiers plats. C'est toujours navrant de voir des tables ainsi faites. Sachez que dans mes audit, une table de plus de 20 colonnes est suspecte. Si elle est très utilisée, c'est plus que suspects, c'est stupide ! Commencez donc par normaliser cette chose.. Je dirais à priori que : 1) tout ce qui commence par record... devrait figurer dans une table Record 2) tout ce qui commence par Call... .. devrait figurer dans une table Call... 3) idem pour speech, CAMEL, cug, change, default, EMS, equipmnet, LCS, SS, USSD, msc, optimal..... 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 * * * * * |
|
10
|
|
|
#13 | ||
|
Membre Expert
![]() |
Citation:
Citation:
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
||
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() viper viper Inscription : septembre 2008 Messages : 25 ![]() |
Merci pour vos réponses..
La première des choses que je peux retenir de vos apports c'est que je dois revoir mon typage..Ce sera fait..même si bcp de colonnes au libellé bien explicite ne correspondent pas coté type. En ce qui concerne la modélisation de la table, je crois avoir une explication pour sa structure. En effet, premièrement je suis entrain de mettre en oeuvre une base de données d'aide à la prise de décision et secondo la table est chargée à partir de fichiers txt qui contiennent des milliers de lignes regoupées en enregistrements pr ma table. Donc à mon humble avis je ne pense pas qu'il serait judicieux l'éclater. Merci pour les propositions d'index couvrant et d'index filtré, elles me seront d'un grand aide. Merci de réagir... |
|
|
01
|
|
|
#15 | |
|
Membre Expert
![]() |
Citation:
Ce genre de problématique est récurrente (import de fichiers plats non normalisés ou issus de bases mal modélisées) mais l'intégration ne doit pas influencer à ce point votre propre modélisation...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
20
|
|
|
#16 | ||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Citation:
Un SGBDR a ceci de différent d'un fichier texte, c'est que les données doivent être typées ! Citation:
Mais vous êtes libre de ne pas suivre les avis des professionnels. 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 * * * * * |
||
|
10
|
Copyright © 2000-2012 - www.developpez.com