Fonctions VS requêtes SQL .. le plus rapide ?
13 messages
• Page 1 sur 1
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Fonctions VS requêtes SQL .. le plus rapide ?
Bonjour,
Question du jour :
Qu'est ce qui est le plus rapide : une fonction ou une requête SQl selon vous ?
Par exemple si on prend la liste des villes de France basé sur le code postal:
Choix 1:
1ere requête qui affiche à partir d'une table A le code postal puis seconde requête à partir d'une table B qui permet d'afficher le nom de la ville correspondant au code postal.
Choix 2:
1ere requête qui affiche à partir d'une table A le code postal puis une fonction sur le code postal qui va afficher le nom de la ville à partir d'un tableau (ex: cherche_ville($code_postal) ) .
Merci
Question du jour :
Qu'est ce qui est le plus rapide : une fonction ou une requête SQl selon vous ?
Par exemple si on prend la liste des villes de France basé sur le code postal:
Choix 1:
1ere requête qui affiche à partir d'une table A le code postal puis seconde requête à partir d'une table B qui permet d'afficher le nom de la ville correspondant au code postal.
Choix 2:
1ere requête qui affiche à partir d'une table A le code postal puis une fonction sur le code postal qui va afficher le nom de la ville à partir d'un tableau (ex: cherche_ville($code_postal) ) .
Merci
-

spout - WRInaute accro

- Messages: 4378
- Inscription: 14 Mai 2003
Re: Fonctions VS requêtes SQL .. le plus rapide ?
Choix 3:
Une requête qui affiche à partir d'une table A le code postal et une jointure (LEFT JOIN) avec une table B qui permet d'afficher le nom de la ville correspondant au code postal.
Pour la rapidité je ne sais pas il faut faire des tests
Une requête qui affiche à partir d'une table A le code postal et une jointure (LEFT JOIN) avec une table B qui permet d'afficher le nom de la ville correspondant au code postal.
Pour la rapidité je ne sais pas il faut faire des tests
-
Anto1982 - WRInaute passionné

- Messages: 1334
- Inscription: 7 Mai 2009
Re: Fonctions VS requêtes SQL .. le plus rapide ?
spout a écrit:Choix 3:
Une requête qui affiche à partir d'une table A le code postal et une jointure (LEFT JOIN) avec une table B qui permet d'afficher le nom de la ville correspondant au code postal.
Pour la rapidité je ne sais pas il faut faire des tests
Je pense aussi, mais il ne faut pas oublier que plusieurs villes peuvent avoir le même code postal... Du coup, tu seras peut être quand même obligé d'utiliser les deux...
Un première requête avec le LEFT JOIN qui va te sortir la (ou les villes correspondantes au CP) et ensuite:
si une seule ville (pas de problème, tu l'affiches directement)
si plusieurs villes, tu affiches un petit select
J'ai bon?
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Re: Fonctions VS requêtes SQL .. le plus rapide ?
hargggggg, pourquoi faut il toujours qu'il y est un choix 3
!!
Compte tenu que j'ai en BD uniquement les codes postaux (entré par le client) lors de l'enregistrement, j'ai tendance à opter pour le choix 2 ... Le choix 3 m'obligerait à insérer en bd toutes les villes+code postaux (près de 40 000 enregistrements) et créer la requête adéquate (avec jointure) que je suis loin de maitriser...
Ceci dit, merci de vos réponses.
Compte tenu que j'ai en BD uniquement les codes postaux (entré par le client) lors de l'enregistrement, j'ai tendance à opter pour le choix 2 ... Le choix 3 m'obligerait à insérer en bd toutes les villes+code postaux (près de 40 000 enregistrements) et créer la requête adéquate (avec jointure) que je suis loin de maitriser...
Ceci dit, merci de vos réponses.
- funnic
- Nouveau WRInaute

- Messages: 12
- Inscription: 14 Nov 2008
Re: Fonctions VS requêtes SQL .. le plus rapide ?
la liste des villes et cp se trouve facilement sur le web en csv que tu n'as plus qu'a importer (je n'ai pas de lien sous la main mais j'ai ca pour la belgique) ca pourrait certainement t'aider
-

Aaarrrgggh - WRInaute occasionnel

- Messages: 394
- Inscription: 16 Mar 2009
Re: Fonctions VS requêtes SQL .. le plus rapide ?
Le tout en une seule table aurait pu suffire, non ?
-

nickargall - WRInaute accro

- Messages: 6468
- Inscription: 13 Juin 2005
Re: Fonctions VS requêtes SQL .. le plus rapide ?
Pas mieux, pourquoi 2 tables ?
Question qui nous amène à la solution 4 :
- Une table A qui contient au moins les champs
id / cp / ville
puis une requête qui récupère depuis la table A le code postal & la ville en un coup
... non ?
Question qui nous amène à la solution 4 :
- Une table A qui contient au moins les champs
id / cp / ville
puis une requête qui récupère depuis la table A le code postal & la ville en un coup
... non ?
- jcaron
- WRInaute accro

- Messages: 2685
- Inscription: 13 Fév 2004
Re: Fonctions VS requêtes SQL .. le plus rapide ?
S'il n'y avait qu'une seule ville pour un CP, ça pourrait avoir un sens (ce serait même fortement conseillé). Mais comme ce n'est pas le cas, ça n'a pas beaucoup de sens, puisque le CP seul ne permet pas de trouver la ville. La question maintenant est de savoir quel est le but du jeu ici: s'il s'agit de sortir une adresse complète, alors pour certains CP ce sera facile, pour d'autres ça va poser un problème, et il faudra une sélection manuelle parmi les choix disponibles (ou alors faire appel à des bases autrement plus complètes pour recouper le reste de l'adresse, ou le nom, ou le numéro de téléphone pour trouver la bonne ville).
Pour info, il y a plus de 36000 communes en France, mais seulement environ 6000 codes postaux géographiques (le reste ce sont des CEDEX etc.). Il y a moins de 2000 CP qui correspondent à une seule ville, et plus de 1000 qui ont plus de 10 communes différentes rattachées, le record étant de 46 communes pour un seul code postal d'après la base que j'ai sous la main.
Jacques.
Pour info, il y a plus de 36000 communes en France, mais seulement environ 6000 codes postaux géographiques (le reste ce sont des CEDEX etc.). Il y a moins de 2000 CP qui correspondent à une seule ville, et plus de 1000 qui ont plus de 10 communes différentes rattachées, le record étant de 46 communes pour un seul code postal d'après la base que j'ai sous la main.
Jacques.
-

nickargall - WRInaute accro

- Messages: 6468
- Inscription: 13 Juin 2005
Re: Fonctions VS requêtes SQL .. le plus rapide ?
jcaron a écrit:S'il n'y avait qu'une seule ville pour un CP, ça pourrait avoir un sens (ce serait même fortement conseillé). Mais comme ce n'est pas le cas, ça n'a pas beaucoup de sens, puisque le CP seul ne permet pas de trouver la ville.
D'ou l'identification par la clé primaire "id", non ? A moins que ta remarque ne se réfère pas à la solution de ne prendre qu'une table
13 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Easter Egg dans Google Chrome (fonctions cachées) - 06-09-2008
- Nombre moyen de mots par requête : statistiques AOL Août 2006 - 10-08-2006
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Suite de l'article sur le fichier .htaccess : l'URL rewriting - 16-01-2003
- Nouveautés sur les recherches de Google Images - 22-02-2009
- Nuage de tags Wordle pour WebRankInfo - 29-04-2009
- Google Desktop 2 en français - 13-10-2005
- Google Chrome : nouvelle version beta plus rapide - 18-03-2009
Consultez la description détaillée des produits ou services de Google suivants : Google Trends Recherche Personnalisée
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités
