deux type de requete laquelle est la mieux ? - SQL/NoSQL - Programmation
Marsh Posté le 18-11-2005 à 11:54:27
Non, aucune.
(seule la syntaxe change, suivant qu'elle se plie à la norme SQL ou pas)
Marsh Posté le 18-11-2005 à 11:57:51
Merci pour ton intervention
Moi je pensais que le moteur agirait différement selon la synthaxe.
Marsh Posté le 18-11-2005 à 12:04:44
Plutôt que de faire une jointure avec sysobjects, pourquoi ne pas utiliser object_id() ?
Genre :
select c.name, b.name
from syscolumns b, systypes c
where b.id = object_id("tb_message" )
etc...
Marsh Posté le 18-11-2005 à 13:56:57
Elmoricq a écrit : Plutôt que de faire une jointure avec sysobjects, pourquoi ne pas utiliser object_id() ? |
J'ai testé ce que tu viens de m'indiquer mais apparement il attend plutôt un nom de champs qu'un nom de table.
Marsh Posté le 18-11-2005 à 14:01:07
Tu as dû oublier les guillemets, parce que dans ce cas-là il retourne en effet un message du genre : "Invalid column name '...' "
Mais avec les guillemets ça fonctionne très bien :
select object_id("sysobjects" ) |
http://msdn.microsoft.com/library/ [...] z_1410.asp
Marsh Posté le 18-11-2005 à 14:11:26
Elmoricq a écrit : Tu as dû oublier les guillemets, parce que dans ce cas-là il retourne en effet un message du genre : "Invalid column name '...' "
|
J'ai fais à l'identique et c'est toujours là même erreur. Je remet pas en cause la synthaxe puisque msdn l'indique bien ainsi.
Marsh Posté le 18-11-2005 à 11:21:55
voici deux requetes qui récupére exactement les mêmes résultats.
SELECT c.name,b.name FROM
Pendant un bon moment j'utilisais la seconde methode pour faire mes jointures. Des personnes m'ont dit que le c'est pas bon surtout concernant les performance mais sans donner plus d'explication. Dans SQL server j'ai fait afficher "le plan d'execution" de ces deux requetes et le resultat retourné est exactement le même.
Pour vous y a t'il une reelle différence ?