Flux rss
Rechercher : dans
Par :

SQL - Select

Sébastien, le mercredi 26 mai 2004 à 10:57:12 
 Signaler ce message aux modérateurs

Bonjour à tous,

J'ai une question à propos du temps d'execution d'un requete SQL.

Voici une description en simplifié de ma table ( TH_CODE_TABLES ) sur la quelle je fais mon select.

Cette table à la clé Primaire mise sur 2 champs (CODE_TABLE_NAME, CODE) --> PK_TH_CODE_TABLES

Voici mon select :

Select
DESC_FR,
DESC_NL
From TH_CODE_TABLES
Where
CODE_TABLE_NAME = 'ZZ079' And
CODE = '08'


Normallement, la requete doit se faire en utilisant l'index et donc très rapidement. Mais j'ai remarqué que souvent avec de petites tables, un full select est réailisé au lieu d'utiliser l'index. Ce qui me fait environ 2 à 3 seconde alors que si il utilise l'index il le fait instantanément.

C'est très génant car ce select est éxecuter 5 fois dans un autre select qui lui contient environ 600000 records... Faite le compte, quand je suis arrivé au travail ce matin ca tournait toujours d'hier.

Maintenant nous avons trouvé la parade en rajoutant un HINT à la requete qui va forcer l'utilisation de l'index :

Select /*--+ INDEX(TH_CODE_TABLES PK_TH_CODE_TABLES) */
DESC_FR,
DESC_NL
From TH_CODE_TABLES
Where
CODE_TABLE_NAME = 'ZZ079' And
CODE = '08'


Et la donc je n'ai plus de problèmes... Mais ceci dit j'aimerais savoir pourquoi des fois il utilise l'index ( --> Logique ) alors que d'autre fois ( et souvent avec de petites tables) il fauit un full analyzed et me sort donc le resultat beaucoup trop lentement.

Sébastien.

1

 Sébastien, le mercredi 26 mai 2004 à 11:00:34

Je corrige la requete avec le HINTS (j'ai enlevé les commentaires)

Select --+ INDEX(TH_CODE_TABLES PK_TH_CODE_TABLES)
DESC_FR,
DESC_NL
From TH_CODE_TABLES
Where
CODE_TABLE_NAME = 'ZZ079'
And
CODE = '08'

Répondre à Sébastien
[PL/SQL] select distinct Bonjour ! Je m'appelle Yves. J'aimerai bien savoir a quoi sert l'instruction PL/SQL distinct exemple Ca me ferai plaisir si vous m'expliquiez ces deux lignes de code: 1) (select distinct Log_Baur from tgfpty) 2) (select distinct PakNr, PakNr parent... www.commentcamarche.net/forum/affich-261578-pl-sql-select-distinct
[SQL] comment calculer un total ? (Résolu) Bonjour à tous, voilà jusqu'ici j'utilisais la requête suivante en SQL : SELECT ProductName, SUM(Quantity) AS TOTAL FROM DeliveryDtls WHERE (DATEDIFF(dd, CreateDate, '11/02/2005') = 0) AND (Quality LIKE 'S') GROUP BY ProductName ProductName étant une... www.commentcamarche.net/forum/affich-1935102-sql-comment-calculer-un-total
Le max en SQL ?? dans une clause WHERE : kel est l'instruction a taper pour selectionner le max d'une colonne moi g mis : SQL = "SELECT * FROM matable" SQL = SQL & "WHERE (ANNEE=MAX(ANNEE))" mais ca marche pas! www.commentcamarche.net/forum/affich-98663-le-max-en-sql
SQL- Select MAX(Id)Bonjour à tous, J'ai un pb de syntaxe! J'ai 2 tables Devis et Commande qui ont un IdDevis j'ai 1 requete $reqNumDevis = "SELECT MAX(IdDevis) FROM DEVIS ;"; je voudrais lors d'un enregistrement le IdDevis s'enregistre dans la table Commande Q: peut-on... www.commentcamarche.net/forum/affich-1184206-sql-select-max-id
SQL > select count distinct group by ACCESSBonjour, j'ai un problème avec une requete SQL qui intégre un DISTINCT, un COUNT et un GROUP BY. Voici les champs de ma db : URL, IP, DATE1 A chaque connexion, on enregistre donc l'IP, la date et l'URL. En fait, je voudrais connaitre le nombre de... www.commentcamarche.net/forum/affich-5138406-sql-select-count-distinct-group-by-access
[Access] : Requete SQL en VBa (Résolu)Salut à tous je cherche de l'aide pour creer une requete SQL dans le VB fournit avec Access en faite je veux ecrire une requete qui tiendra compte de ce que j'aurais choisit dans ma zone de liste exemple: SELECT PC.nom_PC FROM PC WHERE utilisateur... www.commentcamarche.net/forum/affich-2747677-access-requete-sql-en-vba
SQL - Commande SELECTLe langage de manipulation de données Le SQL est à la fois un langage de manipulation de données et un langage de définition de données. Toutefois, la définition de données est l'oeuvre de l'administrateur de la base de données, c'est pourquoi la... www.commentcamarche.net/contents/sql/sqlsel.php3
SQL - Opérations ensemblistesLes opérations ensemblistes Les opérations ensemblistes en SQL, sont celles définies dans l'algèbre relationnelle. Elles sont réalisées grâce aux opérateurs : UNION INTERSECT (ne fait pas partie de la norme SQL et n'est donc pas implémenté dans... www.commentcamarche.net/contents/sql/sqlensem.php3
SQL - JointuresExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se... www.commentcamarche.net/contents/sql/sqljoint.php3