Question c** du jour [Résolu]

Signaler
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
-
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
-
Bonjour,

Permettez moi de poser une question (même si je pense connaitre la réponse... mais je veux être sûr quand même...)

J'ai une table (firebird) avec 3 champs pour ma clé primaire (soit clé1, clé2, clé3, Champ4, Champ5, Champ6...)

La question à 1 point :
Est-ce qu'une requête d'insertion sera moins performante si je ne mets pas les champs clés en premier ?
i.e. :
Insert into matable(Champ4, Champ5, Champ6, clé1, clé2, clé3...)
Values(...)


Simon

9 réponses

Messages postés
273
Date d'inscription
samedi 13 juin 2009
Statut
Membre
Dernière intervention
18 avril 2015
10
Bonsoir,
Non la requête ne sera pas moins performante, p'ttre que si, mais si peu, tu t'en fout.
La question est pourquoi tu envoies dans ton SQL les clés à la fin ?
Les champs sont 1, 2, 3, 4, 5, 6... et c'est un prob dans ton prog qui t'oblige à mettre
les clés à la fin dans ton SQL, ou bien ta table est construite avec les clés à la fin ?
Dans tous les cas tu t'en fout, çà ne changera rien.
Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
13
Les trois clés sont en varchar

pas top, cette clé composite car une clé doit être atomique.
mais sur le plan des performances, je rejoins solilog :
cela n'a pas beaucoup d'incidences, car en fait la base la transforme en une seule clé système (cachée)

Ce qui en revanche n'est pas bon du tout :
c'est la gestion BDE + paradox, source d'ennuis récurrents au niveau des index.

et là, il n'y a guère de solutions..

cantador
Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
13
Bonsoir,

les champs clé1, clé2 et clé3 sont de quel type ?

cantador
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
Salut Cantador
Pourquoi est-ce important ?
Les trois clés sont en varchar (je sais c'est pas terrible, une erreur de débutant sur un ancien dev...)

Simon
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
Bonjour solilog,

Non, dans la table, les clés sont bien au début. C'est juste que je veux alimenter la table à partir d'un fichier texte, dans lequel les infos sont dans le désordre. Et comme le fichier est très volumineux, je voudrais limiter le temps de traitement de cette alimentation...


Simon
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
Au fait, je me suis trompé, il s'agit d'une table paradox

Simon
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
Ce qui en revanche n'est pas bon du tout :
c'est la gestion BDE + paradox, source d'ennuis récurrents au niveau des index.

ça je te le fais pas dire...

Pour la clé, je sais bien, mais c'est un ancien dev (erreur de jeunesse), et il n'y a pas d'évolution prévue pour cette version paradox, mais plutôt une refonte (aux abris !!!) de la base pour une migration firebird.

Si j'ai bien compris, il n'y a pas de problème pour Firebird. En est il de même pour paradox ? Est-ce que l'ordre SQL est interprété par Delphi pour qu'il soit propre et bien inséré dans la base ?

Simon
Messages postés
273
Date d'inscription
samedi 13 juin 2009
Statut
Membre
Dernière intervention
18 avril 2015
10
Salut,
T'ai déjà répondu, oiui pas de soucis, ca marche.
solilog
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
ok, merci à vous 2

Simon