Les performances de la base de vue vs nouvelle table

Je suis en utilisant une base de données Oracle qui est d'avoir ralentir les performances en raison de la rejoint sur certains tableaux pour obtenir des résultats. J'envisage de faire une nouvelle table qui stocke certaines de ces données de sorte qu'il peut être récupéré rapidement, sans avoir à effectuer des jointures. Une autre alternative est de créer une vue pour les jointures, je m'exécute et puis toujours interroger le point de vue des données. Quelle est la différence entre les résultats obtenus à l'aide d'une nouvelle table et la création d'un point de vue? J'ai pensé d'un point de vue encore besoin de courir la rejoindre si elle ne serait pas de l'offre que de bonnes performances dans une nouvelle table.

D'Info sur base de données Oracle point de vue est ici:
- http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_8004.htm
- Ce qui est une Vue de l'Oracle?

Des éclaircissements sur la base des réponses ci-dessous. Les requêtes sont principalement optimisé déjà donc je ne veux pas faire de l'optimisation. Préférez une table ou d'une vue matérialisée, mais je voudrais savoir ce qui pourrait être mieux. Je suis intéressé par la performance. Écrire plus de code à maintenir le nouveau tableau en synchronisation avec les anciennes tables n'est pas un problème. Je vais juste ajouter des instructions de modification de partout où des modifications ont été effectuées afin de vieux tableaux. Je ne veux pas utiliser une vue matérialisée si il est plus lent que l'ajout d'une nouvelle table.

La différence est que l'actualisation des données est plus efficace pour la vue matérialisée ou pour une nouvelle table. Pour la nouvelle table, en gros je vais être en ajoutant de mettre à jour les énoncés où il y avait des mises à jour de l'ancienne table. Ainsi, lorsque l'utilisateur interroge le nouveau tableau, les données sont déjà là (aucun traitement supplémentaire n'est nécessaire). Mais pour une vue matérialisée, si l'affichage s'actualise lui-même que lorsque l'utilisateur interroge le point de vue, alors ce pourrait être plus lente.

La vue affiche les données en fonction d'une requête. Cela évite de réplication de données et permet d'économiser votre espace de stockage au lieu de créer une nouvelle table. Je pense que pour le problème de performance look à la requête de l'optimisation.
Je pense que u veux dire de la vue matérialisée, non?
Oh, besoin de regarder la différence, j'ai commencé à utiliser oracle. Je n'utilise que du simple point de vue, comme CREATE VIEW
Est votre problème que vous avez beaucoup de requêtes compliquées que tous les travaux OK séparément, mais effectuer horriblement lorsque vous les combinez?
Votre argument: "ralentir les performances en raison de jointures" n'est pas convaincante. Habituellement, correctement présenté index, jointures sont exécutées en tant que indexées de boucles imbriquées. Par conséquent, il n'y a pas de raison fondamentale pour vos requêtes avec des jointures doivent être beaucoup plus lent que simpliste requêtes (select à partir d'une table avec une seule table de prédicats).

OriginalL'auteur john | 2012-03-12