soupiste
Messages postés79Date d'inscriptionsamedi 12 avril 2008StatutMembreDernière intervention22 juin 2011
-
20 août 2009 à 13:38
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
20 août 2009 à 14:23
salut à toute la communauté !
Cela fait des heures que cherches à établir une jointure entre (2 ou 3 tables qu'importe).
Ce que je voudrais, c'est réunir dans une nouvelle table la plupart des champs (LADATE, [VOISINE DECLAREE], CELL_SERVEUSE, SBS_Name, [ETAT SYMETRIE]) de ma table [ALL_ASYMETRIES], avec le champ nVOISINES de ma 2eme table [VOISINES_DECLAREES]. Alors, J'ai écrit cette requète :
select c.ID,
a.LADATE, a.[VOISINE DECLAREE], a.CELL_SERVEUSE, a.SBS_Name, a.[ETAT SYMETRIE],
b.nVOISINES As [RELATIONS VOISINES]
from dbo.ALL_ASYMETRIES a inner join dbo.VOISINES_DECLAREES b
on a.[VOISINE DECLAREE] = b.NOM_CELLULE
inner join dbo.ADJACENT_LIST_GENERATED c
on c.ID = b.nVOISINES
MAlheureusement, bien qu'elle marche, elle s'exécute en 49 seconde ! c'est beaucoup trop long, car je voudrais en faire une vue: une fois la vue créée, j'arrive pas à l'ouvrir car le temps d'exécution est trop long !
voici la structure de mes 2 tables (qui sont en fait des vues):
vue 1= ALL_ASYMETRIES
create view [dbo].[ALL_ASYMETRIES] As select distinct a.LADATE, b.[VOISINE DECLAREE], a.CELL_SERVEUSE, a.SBS_Name, a.BTSM_SERV, a.BTS_SERV, a.BTSM_VOIS, a.BTS_VOIS, b.[ETAT SYMETRIE] from CELL_SBS a, ASYMETRIES_OMC b where a.CELL_SERVEUSE = b.[CELLULE SERVEUSE] and b.[VOISINE DECLAREE] = a.TARGET_CELL
VUE 2= VOISINES_DECLAREES
create view [dbo].[VOISINES_DECLAREES](NOM_CELLULE, nVOISINES) As select CELL_SERVEUSE, count(*) As NombreDeDéclaration from ADJACENT_LIST_GENERATED Group by CELL_SERVEUSE
quelqu'un peut t-il m'aider ? Il me faut absolument sortir cette table rapidement
soupiste
Messages postés79Date d'inscriptionsamedi 12 avril 2008StatutMembreDernière intervention22 juin 2011 20 août 2009 à 14:14
Aucun index, ni clé ! il s'agit d'une base plate sans relation. Pour extraire les données qui m'intéresse, je procède en général par des vues que je crée !
AU fait, est il possible d'ajouter des index ou des clé à des vues ? ça pourrait peut être accélérer les process
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 20 août 2009 à 14:23
Les vues indexés existe mais il est préférabble d'utiliser les index sur les tables.
Aucun index, ni clé ! il s'agit d'une base plate sans relation. Pour extraire les données qui m'intéresse, je procède en général par des vues que je crée !
pas de relations --> pas d'accélaration pour tes inner join
pas d'index/clés --> pas d'optimisation.
Mets des clés primaire sur les tables et des foreign key dans un premier temps.