Effectivement, quelle idee de mettre un like la
Effectivement, quelle idee de mettre un like la
Aller une petite question dans ce cas (mais je connais la réponse ) :
Pourquoi les requêtes suivantes dans ce cas (@id = 100) sont aussi performantes l'une que l'autre (en reprenant l'exemple du billet .. j'ai juste changé le nom de la table en T_TEST2)
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DECLARE @id int SET @id = 100 SET STATISTICS IO ON; IF EXISTS (SELECT * FROM T_TEST2 WHERE id LIKE @id) SELECT 1 IF EXISTS (SELECT * FROM T_TEST2 WHERE id = @id) SELECT 1
Ci joint plans d'exécutions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 --Table 'T_TEST2'. Scan count 1, logical reads 3, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. --Table 'T_TEST2'. Scan count 1, logical reads 3, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
++
Selon l'index, l'id est présent sur une fin de page alors que dans l'autre cas l'id (101) nécessite de passer à la page suivante ?
Alexandre Chemla - Consultant MS BI chez Masao
Etienne ZINZINDOHOUE
Billets-Articles
LIKE sans joker est transformé en =
N'oubliez pas que le moteur relationnel incorpore un algébriseur, dont le rôle est de récrire proprement les requêtes "farfelues".
Lisez à ce sujet, cet exemple didactique :
http://blog.developpez.com/sqlpro/p5...lle-intellige/
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Etienne ZINZINDOHOUE
Billets-Articles
Etienne ZINZINDOHOUE
Billets-Articles
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Etienne ZINZINDOHOUE
Billets-Articles
Cela fait partie du coût du "parsing" (set statistics time on, cf. parse and compile time et execution time) et non pas du coût d'exécution (temps et E/S) de la requête en elle-même.En quoi cette précision est importante ? Il me semble que l'algébrisation est une étape du traitement de la requête. à mon avis, si il y a un coût pour l'algébrisation alors il y a coût sur le traitement de la requête ? Non ?
Le temps de parsing et le temps d'exécution de la requête s'ajoutent.
Emmanuel T.
Je suis parfaitement d'accord, je fais bien la distinction entre ces différentes étapes du traitement de la requête.
Tu remarques que j'utilise le terme traitement de la requête.
Au fait c'est le "Oui, mais de sqlpro" à propos du coût de traitement de la requête qui me réfléchir... le coût du traitement d'une requête inclut aussi le coût de la phase d'algébrisation ? c'était ça ma question.
En tout cas merci pour ta réponse
A+
Etienne ZINZINDOHOUE
Billets-Articles
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager