Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1677 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Interet des vues (& performances)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] Interet des vues (& performances)

n°901533
Suri
Darksurious
Posté le 18-11-2004 à 10:29:59  profilanswer
 

Je voulais savoir exactement ce qu'etait l'interet des vues a part simplifier un  schema relationnel?
a priori une requete faisant appel à une vue, va relancer la creation de la vue  non? (si ya des lignes qui ont ete rajoutées depuis le dernier appel);
donc je capte pas trop l'interet en fait :/
merci d'eclairer ma lanterne :)


---------------
Suri.morkitu.org : Balades au coeur de la ville...
mood
Publicité
Posté le 18-11-2004 à 10:29:59  profilanswer
 

n°901977
Arjuna
Aircraft Ident.: F-MBSD
Posté le 18-11-2004 à 16:33:15  profilanswer
 

Tu économises toute la phase d'interprétation de la requête et son optimisation. Soit 90% du temps pour la plupart des requêtes.
 
Fais des tests, tu verras c'est incomparable.

n°901987
Suri
Darksurious
Posté le 18-11-2004 à 16:45:57  profilanswer
 
n°902064
Beegee
Posté le 18-11-2004 à 18:10:21  profilanswer
 

une vue c'est juste une requête que tu stoque ... ça ne contient pas de lignes 'insérées' comme tu le penses.
 
Ca permet une simplification d'écriture ... et ça a ses propres propriétés (READ ONLY, etc.).
Mais en interne, quand tu accèdes à une vue, c'est comme si tu faisais un copier coller de sa définition dans ta requête.

n°902067
Suri
Darksurious
Posté le 18-11-2004 à 18:15:50  profilanswer
 

ouais jme suis mal exprimé, mais je voulais dire que deux appels successif a une vue peuvent retourner des resultats differents (si les tables qui sont utilisées ds la vue ont changé...)
Mais bon, vu que je bosse uniquement sur de l'optimisation, si la requete de la vue est deja analysée ca me va :D


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°902070
simogeo
j'ai jamais tué de chats, ...
Posté le 18-11-2004 à 18:25:48  profilanswer
 

yo suri morkitu [:dawa]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°902074
Suri
Darksurious
Posté le 18-11-2004 à 18:37:07  profilanswer
 
n°902150
Arjuna
Aircraft Ident.: F-MBSD
Posté le 18-11-2004 à 20:02:49  profilanswer
 

Beegee a écrit :

une vue c'est juste une requête que tu stoque ... ça ne contient pas de lignes 'insérées' comme tu le penses.
 
Ca permet une simplification d'écriture ... et ça a ses propres propriétés (READ ONLY, etc.).
Mais en interne, quand tu accèdes à une vue, c'est comme si tu faisais un copier coller de sa définition dans ta requête.


Pas du tout, comme j'ai dit, il y a toute la phase de d'interprétation/optimisation qui saute quand tu utilises une vue.
 
Alors quand tu tapes dans 12 tables contenant chacunes 20 indexes, ben tu sens carrément la différence.
 
Evidement, si c'est pour faire un select sur une unique table avec un filtre qui n'utilise pas d'index, ça ne sert rigoureusement à rien (ou presque)

n°902478
Beegee
Posté le 19-11-2004 à 08:55:17  profilanswer
 

Tu veux dire que la vue a en gros son explain plan 'intégré' ?

n°902564
Arjuna
Aircraft Ident.: F-MBSD
Posté le 19-11-2004 à 10:01:37  profilanswer
 

Oui, elle est "compilée". Donc il n'y a qu'un code binaire à exécuter textuellement, sans ce soucier de sa complexité.
 
Pour une requête qui tape dans de bons index, ça revient au même que faire un simple "select * from table" niveau performances.

mood
Publicité
Posté le 19-11-2004 à 10:01:37  profilanswer
 

n°902593
Beegee
Posté le 19-11-2004 à 10:35:44  profilanswer
 

Donc en gros, si tu crées une vue sur une table, qu'ensuite tu rajoutes un index à la table, hé ben la vue ne pourra jamais profiter de cet index ? (à moins de la recréer bien sûr)

n°902637
Arjuna
Aircraft Ident.: F-MBSD
Posté le 19-11-2004 à 10:52:24  profilanswer
 

Là, c'est une question à laquelle je ne saurais répondre.
 
A mon avis, c'est transparent, parceque la vue est liée à la table, et l'index est lié à la table aussi. Donc toute modification d'un élément entraîne un check des autres : la vue devrait être recompilée en même temps que la création de l'index.
 
On a la même chose avec les procédures stockées, qui sont elles aussi compilée, le code comme les requêtes.
 
Dans un SGBD tout pourri, il faut peut-être tout regénérer à chaque fois, mais sur une base comme Oracle, je suis certain à 99% que c'est automatique.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Interet des vues (& performances)

 

Sujets relatifs
[SQL]recuperer premier enregistrementcas d'école SQL / decode - tables EMP / DEPT
[SQL/ACCESS] Rechercher si un nombre est dans une tablePetite question simple sur une commande SQL
sql : mais d'ou sort ce 1, dans ce champ?? [résolu]SQL Equivalent de addslashes en asp ?
Requette partielle SQL[SQL/Access] cacher un bouton
SQL/VBA : probleme avec LIKE et "*" [RESOLU][PL/SQL] insert, commit, rollback ds une procédure stockée ???
Plus de sujets relatifs à : [SQL] Interet des vues (& performances)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR