|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 947 ![]() |
Bonjour
J'utilise une vue complexe qui dans 90% des cas doit etre filtrée sur un champ NULL (WHERE champ is NULL) Mais dans 10% je dois filtrer sur autre chose Je pense donc a definir une premiere vue (Sans Filtre) Et une autre vue qui ferais un simple select sur la premiere mais avec le Filtre WHERE Champ IS NULL Est-ce pertinent
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Pas forcément, l'optimiseur sait simplifier l'écriture finale de la requête....
La seule légitimité de faire de nombreuses vues, y compris des vues de vues est simplement fonctionnelle ! 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 * * * * * |
|
00
|
|
|
#3 | |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 947 ![]() |
Citation:
C'est effectivement le but ici - plusieurs application utilisent cette vue en mode filtré (WHERE CHAMP IS NULL) - Mais certaines doivent avoir une visibilité complete Donc pour ne pas ecrire entierement les deux vues l'idée est de faire la vue principale sans filtre et d'appliquer sur cette premiere vue une vue avec filtre Mais comme cette vue sur vue sera la plus utilisée je me demandans si je n'allais pas de cette maniere allourdir les performances L'alternative moins agréable a gerer c'est evidemment de creer deux vues identique avec et sans filtre ?
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Si vous êtes sous SQL Server 2008, et que le nombre de lignes pour lesquelles la colonne est à NULL est faible par rapport au nombre total de lignes de la table, pensez aux index filtrés @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 947 ![]() |
Bonjour Elsuket
Non c'est l'inverse ! J'ai 95% de NULL sur +/- 100.000 records (mais la vue qui produt ces lignes n'est pas triviale)
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() ![]() Inscription : juillet 2006 Messages : 1 194 ![]() |
Comme le laissait entendre SQL Pro, vous ne souffrirez pas de perte de performance à employer une vue dans une autre vue.
Faite donc votre vue complète et faite une vue limité employant la précédente. Votre code sera plus facile à lire et maintenir. |
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() |
Citation:
A ne pas exagérer tout de même....
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() ![]() Inscription : juillet 2006 Messages : 1 194 ![]() |
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 947 ![]() |
Merci a tous
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() |
Citation:
On attends tes mesures avec impatience
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
00
|
|
|
#11 |
|
Membre chevronné
![]() ![]() Inscription : juillet 2006 Messages : 1 194 ![]() |
|
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() |
Citation:
Citation:
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
||
|
|
00
|
|
|
#13 | |
![]() ![]() |
Sur 2005, la limite d'imbrication est de 32 :
Citation:
__________________
Email : http://scr.im/waldar |
|
|
00
|
|
|
#14 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
Pour avoir du travailler sur des vues imbriquées, je conseillerais d'y aller mollo moderato sur les niveaux d'imbrication.
Quand tu passes une demi-heure pour comprendre que ce que fait la vue de niveau 10 est un select sur la vue initiale avec 3 champs de moins et une clause WHERE en prime, tu as VRAIMENT l'impression de perdre ton temps...
__________________
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
|
Copyright © 2000-2012 - www.developpez.com