Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/07/2005, 18h59   #1
Membre éclairé
 
Avatar de flogreg
 
Développeur informatique
Inscription : mars 2004
Messages : 432
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2004
Messages : 432
Points : 343
Points : 343
Par défaut optimisation requetes avec base de données

Bonjour à tous.

Quand j'ai appris à developper, dans mes programmes, je faisais une requete du genre :

Code :
1
2
 
SELECT * FROM matable WHERE monchamps1=13 ORDER BY monchamps2
Si au lieu de faire ca, (je prends l'exemple d'Access 2000) je crée une requete dans ma base comme ca:
Code :
1
2
 
SELECT * FROM matable WHERE monchamps1=13 ORDER BY monchamps2
puis dans mon code je fais:
Code :
1
2
 
SELECT * FROM marequete
Est ce que ca va etre plus rapide? Est ce ca que l'on appele procédure stockée?

Merci de vos réponses. C'est vrai que je n'ai jamais développé d'application sur PC avec de grosses base de données. Avant je n'utilisais que du RPG sur AS400 et on utilisait des fichiers logiques
flogreg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2005, 09h49   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Oui, tu as raison, en gros.

Seul bémol, il faut que ton SGBD supporte le passage de tableau en retour de ta PS.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2005, 13h48   #3
Membre éclairé
 
Avatar de flogreg
 
Développeur informatique
Inscription : mars 2004
Messages : 432
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2004
Messages : 432
Points : 343
Points : 343
Code :
Seul bémol, il faut que ton SGBD supporte le passage de tableau en retour de ta PS.
Je n'en ai aucune idée. De toute facon, ca ne sera surement pas Access 2000 mais plutot Sql Server ou Interbase. Mais sinon c'est ca une procédure stockée ou pas?
flogreg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2005, 11h37   #4
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Oui, c'est bien cela une procédure stockée.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2005, 10h59   #5
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 793
Points : 17 793
Cela n'est absolument pas une procédure stockée. De plus des requêtes avec SELECT * sont totalement contre peformantes.

A lire sur le sujet : http://sqlpro.developpez.com/cours/optimiser/

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2005, 00h32   #6
Membre éclairé
 
Avatar de flogreg
 
Développeur informatique
Inscription : mars 2004
Messages : 432
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2004
Messages : 432
Points : 343
Points : 343
oui je savais pour le select *. Ce n'était que pour l'exemple.

Par contre le lien est très instructif, je le recommande. J'y ai appris plein de chose. Je crois que je vais aller faire un petit tour du coté des tutoriels SQL . Beaucoup de chose que je ne savais pas!

Par contre quelqu'un pourrait m'expliquer ce qu'est une procédure stockée?
flogreg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2005, 07h30   #7
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
une procédure stockée est un programme sauvegardé dans la base de données

Et je vois mal comment en ajoutant une étape tu pourrais être plus performant
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2005, 07h41   #8
Membre éclairé
 
Avatar de flogreg
 
Développeur informatique
Inscription : mars 2004
Messages : 432
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2004
Messages : 432
Points : 343
Points : 343
Code :
Et je vois mal comment en ajoutant une étape tu pourrais être plus performant
Alors que doi je faire? Lancer une requete complexe depuis mon programme? Créer une view dans ma base puis faire une petite requete dessus dans mon programme? Apprendre les procédures stockée?
Je viens de relire la page pour optimiser le SQL et SGBDR. Il recommande de créer des vues pour les requetes
flogreg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2005, 07h57   #9
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
A mon avis la solution dépend :

- Du SGBD
- Du langage de programmation

En php par exemple c'est beaucoup moins contraignant de passer par une vue alors que dans Powerbuilder on pourra passer sans problème par la requête. Ensuite, la gestion des vues dépends probablement du SGBD mais là je peux me tromper.

Enfin, en effet la vue ne peut pas faire de mal mais en aucun cas elle améliore les performances... du moins pas dans tous les SGBD
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2005, 14h54   #10
Membre éclairé
 
Avatar de flogreg
 
Développeur informatique
Inscription : mars 2004
Messages : 432
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2004
Messages : 432
Points : 343
Points : 343
Merci d'avoir pu me renseigner. Je pense que pour moi le temps est venu d'améliorer mes compétences en SQL. Je pense que c'est déjà la première des choses quand on veut optimiser une base de données.
flogreg est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h21.


 
 
 
 
Partenaires

Hébergement Web