OVH Cloud OVH Cloud

question sur les indexes

5 réponses
Avatar
michelin
quand on cree un index il y a la possibilite
de le mettre en "Create UNIQUE"

j'ai pas bien compris la difference qu'il
y a ensuite entre "Constraint" et "Index"

et dans le cas de "Index" il ya Ignore Duplicate

5 réponses

Avatar
Fred BROUARD
Une contrainte est un élément de SQL :
contrainte de domaine
contrainte de table
contrainte de base
A lire :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie2#L7.2

Les index cela n'existe pas en SQL, c'est de la cuisine interne au SGBDR.
Un undex est une structure physique de stockage de l'information qui permet
d'accélérer les recherches.

Une clef (contrainte de clef primaire => unicité et non NULL) génère un index
cluster dans SQL Server
Une contrainte d'unicité sur une ou +sieurs colonnes génère un index dans SQL
Server.

Mais tu peut créer toi même tes index à l'aide de l'ordre pseudo SQL :
CREATE INDEX...
du Transact SQL.

a +



michelin a écrit:

quand on cree un index il y a la possibilite
de le mettre en "Create UNIQUE"

j'ai pas bien compris la difference qu'il
y a ensuite entre "Constraint" et "Index"

et dans le cas de "Index" il ya Ignore Duplicate







--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
ca me dit pas quelle est la difference.

je sais bien qu'un index unique ca va m'empecher d'ajouter
des enregistrements deja existants mais c quoi la
difference par rapport aux deux possibilites? des perfs
meilleures dans certains cas?? entre paul et robert, l'un
a des moustaches et l'autre pas...

comment ca fonctionne? je veux creer un index et il me
donne deux choix si je le veux UNIQUE : constraint ou index

C QUOI LA DIFFERENCE ENTRE CONSTRAINT ET INDEX a ce niveau
d'option? en cuisine interne, il cree quand meme un index
ou pas? si il cree pas d'index, ca jouera sur les perfs
avec un gain sur la place occupee sinon c l'inverse... est
ce que je me gourre?




-----Message d'origine-----
Une contrainte est un élément de SQL :
contrainte de domaine
contrainte de table
contrainte de base
A lire :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?


page=partie2#L7.2

Les index cela n'existe pas en SQL, c'est de la cuisine


interne au SGBDR.
Un undex est une structure physique de stockage de


l'information qui permet
d'accélérer les recherches.

Une clef (contrainte de clef primaire => unicité et non


NULL) génère un index
cluster dans SQL Server
Une contrainte d'unicité sur une ou +sieurs colonnes


génère un index dans SQL
Server.

Mais tu peut créer toi même tes index à l'aide de l'ordre


pseudo SQL :
CREATE INDEX...
du Transact SQL.

a +



michelin a écrit:

quand on cree un index il y a la possibilite
de le mettre en "Create UNIQUE"

j'ai pas bien compris la difference qu'il
y a ensuite entre "Constraint" et "Index"

et dans le cas de "Index" il ya Ignore Duplicate







--
Frédéric BROUARD, MVP SQL Server. Expert SQL /


spécialiste Delphi, web
Livre SQL - col. Référence :


http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :


http://sqlpro.developpez.com
************************ www.datasapiens.com


*************************

.



Avatar
ca m'eclate. entre les types qui repondent n'importe quoi
et ceux qui se pretendent des pro mais qu'on voit plus des
que ca se complique, y'en a pas un pour repondre a ma
question
?


-----Message d'origine-----
ca me dit pas quelle est la difference.

je sais bien qu'un index unique ca va m'empecher


d'ajouter
des enregistrements deja existants mais c quoi la
difference par rapport aux deux possibilites? des perfs
meilleures dans certains cas?? entre paul et robert, l'un
a des moustaches et l'autre pas...

comment ca fonctionne? je veux creer un index et il me
donne deux choix si je le veux UNIQUE : constraint ou


index

C QUOI LA DIFFERENCE ENTRE CONSTRAINT ET INDEX a ce


niveau
d'option? en cuisine interne, il cree quand meme un index
ou pas? si il cree pas d'index, ca jouera sur les perfs
avec un gain sur la place occupee sinon c l'inverse...


est
ce que je me gourre?




-----Message d'origine-----
Une contrainte est un élément de SQL :
contrainte de domaine
contrainte de table
contrainte de base
A lire :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?


page=partie2#L7.2

Les index cela n'existe pas en SQL, c'est de la cuisine


interne au SGBDR.
Un undex est une structure physique de stockage de


l'information qui permet
d'accélérer les recherches.

Une clef (contrainte de clef primaire => unicité et non


NULL) génère un index
cluster dans SQL Server
Une contrainte d'unicité sur une ou +sieurs colonnes


génère un index dans SQL
Server.

Mais tu peut créer toi même tes index à l'aide de




l'ordre
pseudo SQL :
CREATE INDEX...
du Transact SQL.

a +



michelin a écrit:

quand on cree un index il y a la possibilite
de le mettre en "Create UNIQUE"

j'ai pas bien compris la difference qu'il
y a ensuite entre "Constraint" et "Index"

et dans le cas de "Index" il ya Ignore Duplicate







--
Frédéric BROUARD, MVP SQL Server. Expert SQL /


spécialiste Delphi, web
Livre SQL - col. Référence :


http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :


http://sqlpro.developpez.com
************************ www.datasapiens.com


*************************

.



.



Avatar
Philippe [MS]
Une contrainte permet de rendre unique l'information se trouvant dans une
colonne ou un groupe de colonne. A la différence, lorsque l'on crée un
index, la clé ainsi créé est dupliqué dans un espace de la base et trié en
fonction des critères de l'index.

En gros, un index permet d'optimiser les accès à la base en fonction des
colonnes constituants l'index alors qu'une contrainte ne permet que de
limiter l'unicité des données.

Attention un index optimise l'accès en lecture à l'information en fonction
des colonnes spécifiés mais lors d'un INSERT ou UPDATE dans la table,
l'ensemble des index potentiellement modifiés doit être mis à jour. Il est
conseillé de ne pas exagérer sur le nombre d'index d'une table. Il faut
toujours faire un compromis entre l'optimisation en lecture (facilité par
les index) et l'optimisation en écriture (moin s il y a d'index et mieux
c'est). De mon coté, je me limite souvent a ne pas créer plus de trois index
sur une table (sauf cas très particulier).

J'espère que la réponse vous conviendra :-)


wrote in message
news:0f8a01c4b3b1$6a7df740$
ca m'eclate. entre les types qui repondent n'importe quoi
et ceux qui se pretendent des pro mais qu'on voit plus des
que ca se complique, y'en a pas un pour repondre a ma
question
?


-----Message d'origine-----
ca me dit pas quelle est la difference.

je sais bien qu'un index unique ca va m'empecher


d'ajouter
des enregistrements deja existants mais c quoi la
difference par rapport aux deux possibilites? des perfs
meilleures dans certains cas?? entre paul et robert, l'un
a des moustaches et l'autre pas...

comment ca fonctionne? je veux creer un index et il me
donne deux choix si je le veux UNIQUE : constraint ou


index

C QUOI LA DIFFERENCE ENTRE CONSTRAINT ET INDEX a ce


niveau
d'option? en cuisine interne, il cree quand meme un index
ou pas? si il cree pas d'index, ca jouera sur les perfs
avec un gain sur la place occupee sinon c l'inverse...


est
ce que je me gourre?




-----Message d'origine-----
Une contrainte est un élément de SQL :
contrainte de domaine
contrainte de table
contrainte de base
A lire :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?


page=partie2#L7.2

Les index cela n'existe pas en SQL, c'est de la cuisine


interne au SGBDR.
Un undex est une structure physique de stockage de


l'information qui permet
d'accélérer les recherches.

Une clef (contrainte de clef primaire => unicité et non


NULL) génère un index
cluster dans SQL Server
Une contrainte d'unicité sur une ou +sieurs colonnes


génère un index dans SQL
Server.

Mais tu peut créer toi même tes index à l'aide de




l'ordre
pseudo SQL :
CREATE INDEX...
du Transact SQL.

a +



michelin a écrit:

quand on cree un index il y a la possibilite
de le mettre en "Create UNIQUE"

j'ai pas bien compris la difference qu'il
y a ensuite entre "Constraint" et "Index"

et dans le cas de "Index" il ya Ignore Duplicate







--
Frédéric BROUARD, MVP SQL Server. Expert SQL /


spécialiste Delphi, web
Livre SQL - col. Référence :


http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :


http://sqlpro.developpez.com
************************ www.datasapiens.com


*************************

.



.



Avatar
Sylvain Lafontaine
Une contrainte de type Unique est basiquement la même chose qu'un index de
type Unique mais offre des informations supplémentaires pour ceux qui
veulent programmer des activations/désactivations de la contrainte à
l'intérieur de certains blocs de code particuliers. Aucune différence au
niveau de la performance (puisque les deux utilisent le même index Unique)
et, si vous ne savez pas ou n'êtes pas intéressé à manipuler les contraintes
de façon dynamique, n'a aucune importance pour vous.

L'option "Ignore Duplicate" sert à éviter un arrêt prématuré suivi d'un
rollback dans le cas où vous voulez mettre à jour plusieurs fiches en même
temps et que l'une d'entre elle va causer un duplicata. Avec Ignore
Duplicate, SQL-Server va poursuivre la mise-à-jour des fiches suivantes au
lieu de s'arrêter sur le champ à la première erreur.

S. L.

wrote in message
news:0a2601c4b2bd$a0e6f470$
ca me dit pas quelle est la difference.

je sais bien qu'un index unique ca va m'empecher d'ajouter
des enregistrements deja existants mais c quoi la
difference par rapport aux deux possibilites? des perfs
meilleures dans certains cas?? entre paul et robert, l'un
a des moustaches et l'autre pas...

comment ca fonctionne? je veux creer un index et il me
donne deux choix si je le veux UNIQUE : constraint ou index

C QUOI LA DIFFERENCE ENTRE CONSTRAINT ET INDEX a ce niveau
d'option? en cuisine interne, il cree quand meme un index
ou pas? si il cree pas d'index, ca jouera sur les perfs
avec un gain sur la place occupee sinon c l'inverse... est
ce que je me gourre?




-----Message d'origine-----
Une contrainte est un élément de SQL :
contrainte de domaine
contrainte de table
contrainte de base
A lire :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?


page=partie2#L7.2

Les index cela n'existe pas en SQL, c'est de la cuisine


interne au SGBDR.
Un undex est une structure physique de stockage de


l'information qui permet
d'accélérer les recherches.

Une clef (contrainte de clef primaire => unicité et non


NULL) génère un index
cluster dans SQL Server
Une contrainte d'unicité sur une ou +sieurs colonnes


génère un index dans SQL
Server.

Mais tu peut créer toi même tes index à l'aide de l'ordre


pseudo SQL :
CREATE INDEX...
du Transact SQL.

a +



michelin a écrit:

quand on cree un index il y a la possibilite
de le mettre en "Create UNIQUE"

j'ai pas bien compris la difference qu'il
y a ensuite entre "Constraint" et "Index"

et dans le cas de "Index" il ya Ignore Duplicate







--
Frédéric BROUARD, MVP SQL Server. Expert SQL /


spécialiste Delphi, web
Livre SQL - col. Référence :


http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :


http://sqlpro.developpez.com
************************ www.datasapiens.com


*************************

.