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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL Server] Plusieurs index du même nom

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL Server] Plusieurs index du même nom

n°1277999
nibbles1
Pour la gloire de NFT
Posté le 06-01-2006 à 09:37:29  profilanswer
 

Bonjour,
 
J'ai une question sur la gestion des index par SQL Server 2000.
 
Périodiquement, on historise par roulement X tables sur Y jours/mois... La plupart de ces tables sont indexées.
 
Exemple :  
- table Tab indexée par KTab
- historisation du dernier mois : table HTabM1, indexée par KHTabM1 (M1 = mois moins 1)
 
Au mois suivant, on renomme HTabM1 en HTabM2 et on crée HTabM1 à partir de Tab. On se demande donc ce qu'il en est des index.
 
On voit dans SQL Server :
- table Tab indexée par KTab
- table HTabM1, indexée par KHTabM1
- table HTabM2, indexée par KHTabM1
 
Si je dis pas de connerie, un index est lié à une table et non à une base et on peut avoir plusieurs index du même nom (KHTabM1 ici).
 
J'aimerai savoir si ça peut poser problème. On a donc 3 solutions :
1) Laisser comme ça pis on vera ben (appelée solution "porcinet" )
2) Au moins renommer KHTabM1 en KHTabMx pour la table HTabMx (appelée solution "plus propre mais pas trop différente" )
3) Supprimer l'index KHTabM1 quand on renomme la table et le recréer (appelée solution "plus propre et ptet plus efficace ??" )
 
Vous en pensez quoi au niveau :
- principe
- propreté
- efficacité
- rendement (cf. le temps "perdu" a recréer tous les index dans le cas de la solution 3 par exemple)
 
Merci :)

mood
Publicité
Posté le 06-01-2006 à 09:37:29  profilanswer
 

n°1278051
Arjuna
Aircraft Ident.: F-MBSD
Posté le 06-01-2006 à 10:57:33  profilanswer
 

Je pense qu'en fait, SQL Server génère un nouvel index avec un nom style :
 
KHTabM1_325464577854573658678 (ça il aime bien faire)
Puis il n'affiche que ça.
 
C'est ce qu'il se passe avec certains objets quand on les crée sans les nommer, il met un nom bidon, et ajoute une série de chiffres qu'il n'affiche pas afin d'assurer l'unicité.
 
Le meilleur moyen, c'est d'aller dans Entreprise Manager, et fait l'exporation des stables et index en SQL (structure seulement) et regarder le script.

n°1278083
nibbles1
Pour la gloire de NFT
Posté le 06-01-2006 à 11:38:54  profilanswer
 

Merci pour ta réponse. Après vérification, je ne trouve que des KHTabM1. J'ai ptet mal cherché mais je n'ai pas vu de KHTabM1_325464577854573658678...
 
Finalement on part sur la solution 3 qui semble de loin la meilleure.

n°1278118
Arjuna
Aircraft Ident.: F-MBSD
Posté le 06-01-2006 à 12:17:24  profilanswer
 

Tu fais comment pour dupliquer une table et recopier ses index avec ?
 

Code :
  1. create table t1 (id numeric not null, val varchar(20))
  2. go
  3. create unique clustered index uix_pk1 on t1 (id)
  4. go
  5. create table t2 (id numeric not null, val varchar(20))
  6. go
  7. create unique clustered index uix_pk1 on t2 (id)
  8. go
  9. select * into t3 from t1
  10. go


t2 a bien un index du même nom que celui de t1, mais t3 n'a pas d'index...
 
sinon, vérifié :

Code :
  1. drop index t2.uix_pk1
  2. go


=> Supprime l'index "uix_pk1" de la table "t2" sans toucher à celui de "t1", ce sont donc bien deux index différents.
 
Et pour finir, en effet, les index sont bel et bien totalement différentes et gérés par table :

Code :
  1. select tb.name tbName, ix.name ixName
  2. from sysobjects tb, sysindexes ix
  3. where ix.name = 'uix_pk1'
  4. and tb.type = 'U'
  5. and tb.id = ix.id
  6. go


=> Retour :


t1 uix_pk1
t2 uix_pk1


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

  [SQL Server] Plusieurs index du même nom

 

Sujets relatifs
[SQL] comment insérer des chaines avec des ' (apostrophes)?Problème requête SQL
SQL LOADERCréation de tableaux complexes en LaTeX...sur plusieurs pages!
KSH - SQL plus : : Not Found[SQL / ACCESS] question un peu tordu sur une requete.
[PL/SQL] Récupérer l'erreurTexte sur plusieurs colonnes - colonnes 'journalistiques'
[PHP QST] envoie de plusieurs fichiers en un seul tour de main[SQL] Question sur foreign key
Plus de sujets relatifs à : [SQL Server] Plusieurs index du même nom


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