|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 126 ![]() |
Bonjour,
Je suis débutant au niveau SQL et je cherche un moyen pour faire un index qui ne reprendrait que les valeurs = 0 ou > 0 par exemple. D'habitude mes index "simples" je les fesais comme cela : Citation:
Est ce que c'est possible? Merci. |
|
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() |
Salut,
merci de préciser votre SGBD SVP, Pour info, la notion d'Index est étrangère au langage SQL
__________________
"Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément." Nicolas Boileau "Expliquer empêche de comprendre si cela dispense de chercher" Quiz Oracle : venez tester vos connaissances ! |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
Bonjour,
Tu n'as pas précisé ce que tu utilises comme SGBD. Je ne vois pas trop comment faire ce que tu demandes... D'ailleurs, je ne comprends pas bien à quoi pourrait servir un index ne contenant qu'une partie des valeurs du champ ? Le but de l'index est de pouvoir retrouver facilement tous les enregistrements ayant une valeur donnée. C'est un peu comme dans une bibliothèque, où un index permettrait de retrouver un livre à partir des premières lettres de son titre par exemple. Ce serait curieux de limiter l'index à certaines lettres par exemple Si, par contre, tu veux contraindre les données de ton champs pour que seuls des valeurs positives puissent y être insérées, il ne faut pas passer par un index, mais par des contraintes (la syntaxe dépend du SGBD).
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 126 ![]() |
Excusez moi, mon SGBD c'est DB2... Désolé je ne savais pas que la notion d'Index est étrangère au langage SQL
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 126 ![]() |
Finalement j'ai fait une vue du type:
CREATE view BDD_1.NAME AS SELECT * FROM BDD_1.NAME AS NAM WHERE NAM.CHAMP_C > 0 |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
Pas de rapport avec les index.
Je ne comprends toujours pas ce que tu voulais faire Enfin, si ta solution résoud ton problème, tant mieux .
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
|
|
00
|
|
|
#7 | |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 126 ![]() |
Citation:
|
|
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
Citation:
Bon, je ne sais pas comment l'optimiseur gèrera celà, mais je ne suis pas sûr que tu sois vraiment gagnant. Et de toute façon, il faudra utiliser un index sur ta table globale pour calculer la vue...
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
|
|
|
00
|
|
|
#9 | |
![]() ![]() |
Citation:
si j'ai bien compris l'idée de base était de ne mettre dans l'index que les enregistrements respectant le filtre. L'index aurrait alors pu être parcouru plus rapidement. Ce qui n'est d'ailleur vrai que dans certaines circonstances. A ma connaisance, cette possibilité n'existe pas. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com