2010-05-17 9 views
0

Je travaille sur l'optimisation de certaines de mes requêtes et j'ai une requête qui indique: select * de SC où c_id = "+ c_id" Le schéma de ** SC ** ressemble à ceci :Question d'index: Sélectionnez * avec la clause WHERE. Où et comment créer l'index

SC ( c_id int not null, date_start date not null, date_stop date not null, r_t_id int not null, nt int, t_p decimal, PRIMARY KEY (c_id, r_t_id, date_start, date_stop)); 

Mon offre immédiate sur la façon dont l'indice devrait être créé est un indice de couverture dans cet ordre:

INDEX(c_id, date_start, date_stop, nt, r_t_id, t_p) 

la raison de cet ordre que je base sur:

WHERE cla utilisez select de c_id, ce qui en fait le premier ordre de tri. Ensuite, le DATE_START et date_stop pour spécifier une sorte de « plage » à définir dans ces paramètres suivant, nt, car il sélectionne le nt suivant la r_t_id parce qu'il est une pièce d'identité pour un type spécifique de mon R_T Table Et dure le t_p parce que c'est juste une information.

Je ne sais pas s'il est absolument nécessaire de le commander d'une manière spécifique lorsqu'il s'agit d'une instruction SELECT ALL. Je devrais dire, que le SC n'est pas le plus grand tableau. Je peux dire combien de lignes qu'il contient, mais une estimation pourrait se situer entre 10 et 1000. <

La prochaine chose à ajouter est que le SC, dans différentes requêtes, insère les données dans le SC, et Je sais que les index sur les tables qui ont des insertions peuvent être inefficaces, mais puis-je créer d'une façon ou d'une autre un moyen moyen d'améliorer cette performance.

Ne sait pas si elle fait un autre, mais j'utilise la version IBM DB2 9.7 base de données

Sincèrement

Mestika

Répondre

0

Puisque vous parlez d'un maximum de 1000 lignes, n » Je ne me soucie pas trop de l'index, sauf si vous avez un problème de production. Je n'ai jamais vu une table de 1000 lignes être un problème du tout. BTW, vous avez configuré C_ID comme clé primaire. Vous n'avez donc pas besoin d'un index supplémentaire, car la table est déjà triée avec la clé primaire.