|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 | |||||
|
Membre émérite
![]() François Développeur informatique Inscription : novembre 2002 Messages : 796 ![]() |
Citation:
Code :
Code :
|
|||||
|
|
00
|
|
|
#22 | |||||||||||
|
Invité de passage
![]() Inscription : février 2005 Messages : 8 ![]() |
Citation:
Code :
Code :
|
|||||||||||
|
|
00
|
|
|
#23 | ||
|
Membre confirmé
![]() |
Si j'ai bien suivi les explications , c'excellent de faire ceci
Code :
__________________
OS:Win 2000 Pro, WIN XP SGBD: MS Sql Server, Oracle Environnement: VS.NET 2002, JBuilder Web: www.ndestudents.com |
||
|
|
00
|
|
|
#24 | |||||
|
Membre du Club
![]() |
Citation:
Code :
INSERT INTO T_CLIENT SET CLI_ID =198, TIT_CODE = 'M.', CLI_NOM = 'DUCORNET', CLI_PRENOM = 'Archibald', CLI_ENSEIGNE = NULL Ce type de requete est il lourd à gerer ? |
|||||
|
|
00
|
|
|
#25 | ||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 12 101 ![]() |
C'est requête n'existe pas en SQL. SQL est un langage normatif, dont la syntaxe est basée sur la norme ISO SQL 2, SQL:1999 ou SQL:2003.
En l'occurence cette syntaxe : Code :
Ici nous parlons du langage SQL pas de MySQL ! 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 * * * * * |
||
|
00
|
|
|
#26 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 4 068 ![]() |
Juste une petite question sur cet excellent article
Dans la liste des transformations usuelles, la règle 12 préconise de transformer les "coalesce" en "union", mais la règle 16 transforme les "union" en "jointure" par le biais de la fonction "coalesce". Ca semble un peu antagoniste, vu de loin ? Dans quel cas "coalesce" pose-t-il un problème de performances ? Quand il est utilisé sur plusieurs champs différents mais dans une même "formule", comme ça semble être le cas de l'exemple 12 ? Personnellement, j'ai déjà constaté les différences de performances décrites dans la règle 16, et j'évite, autant que possible, l'union pour ces raisons. Mais là, je ne comprends plus bien... Merci d'avance, ced |
|
|
00
|
|
|
#27 | |
|
Membre éprouvé
![]() Vincent Développeur informatique Inscription : janvier 2003 Messages : 562 ![]() |
Citation:
|
|
|
|
00
|
|
|
#28 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 12 101 ![]() |
Une fonction ne permet pas l'utilisation d'un index.
L'UNION permet de séparer en deux requêtes qui peuvent être "sargeable" (utilsation des index à disposition). La jointure se base généralement sur clef primaire / clef étrangères qui en principe doivent toutes deux êtres indexées, donc choix pour le moteur SQL de l'index. Dans la graduation chaque de ces transformation peuvent s'avérer plus performantes. Cela nécessite quand même de mesurer la chose... et dépend du moteur SQL ! 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 * * * * * |
|
00
|
|
|
#29 |
|
Membre actif
![]() Luis Inscription : avril 2006 Messages : 595 ![]() |
Salut a tous,
j'ai lu avec attention ces postes...super interessant. J'ai une question, a un moment vous parlez de ceci: "Si tu laisse le modèle 1 et que tu as 30 000 personnes dans ta table, cela fait : 68 * 2 octets * 30 000 = 4 Mega Octets dans ta table. Si tu normalise au maximum, cette même table aura : 6 * 2 octets * 30 000 = 0.36 Mega Octets dans ta table " Je comprend le 2 octets et le 30 000 mais j'arrive pas a piger a quoi corrrespond le 68 de la premiere requete et le 6 de la seconde... Tu peux m'eclairer? D'avance merci |
|
|
00
|
|
|
#30 |
|
Nouveau Membre du Club
![]() |
Bonjour ,
Merci beaucoup rien a dire chapeau pour vous
|
|
|
00
|
|
|
#31 | |||
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 517 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#32 |
![]() ![]() |
Préfère alors la solution marquée par SQLPro comme excellente qui consiste à ne désigner que les colonnes auxquelles tu passes des valeurs. Les autres colonnes ne figurant pas dans la requête prendront leur valeur par défaut, laquelle peut être NULL si c'est spécifié dans la définition de la table.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise la suite Linux Mageïa ! |
|
00
|
|
|
#33 |
|
Membre du Club
![]() Inscription : mars 2007 Messages : 131 ![]() |
Bonjour,
très bon sujet, auquel j'aimerai apporté une question. J'ai une table avec une clé primaire qui est en INT(11) Je sais d'avance que les valeurs n'excéderons jamais les 10 000 ou 15 000. Je pourrais donc réduire le tout à un SMALLINT Mais je me pose la question suivante : Qu'est-ce qui va faire que ma table sera mieux optimisée comme cela ? Est-ce que ça sera forcément plus rapide ? si oui pourquoi ? Ce sont des questions très bêtes, mais j'aime savoir le pourquoi du comment. Merci d'avance |
|
|
00
|
|
|
#34 |
![]() ![]() |
En SMALLINT, ta colonne va occuper deux fois moins d'espace qu'en INT.
L'index sera également moins volumineux je pense. Pour la table en elle-même, avec les performances atteintes par les ordinateurs aujourd'hui, la différence ne sera pas humainement sensible. Par contre, si cette table doit être jointe à une autre beaucoup plus grosse (millions de lignes), ça peut devenir sensible.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise la suite Linux Mageïa ! |
|
00
|
|
|
#35 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() François de Sainte MarieSpécialiste en bases de données Inscription : septembre 2006 Messages : 3 640 ![]() |
Bonjour,
Citation:
Plus important : l’accès à un enregistrement sur le disque est de l’ordre de 10 millisecondes et cela indépendamment de la puissance du processeur. Or la taille de la clé joue sur la hauteur de l’arbre représenté par l’index (nombre de niveaux à traverser) et il faut bien plus de temps pour traverser un index de hauteur 5 qu’un index de hauteur 2. Dans le cas de l’index hébergeant la clé primaire de cedrick21, il n’y a pas de problème, car, si l’attribut constituant la clé primaire est de type INTEGER, la hauteur de l’arbre est égale à 2 pour un nombre de clés (donc de lignes) de l’ordre de 130 000 pour passer à 3 quand le nombre de clés monte à 140 000. A titre indicatif, si l’attribut constituant la clé primaire est de type SMALLINT, la hauteur de l’arbre est égale à 2 pour un nombre de clés (donc de lignes) de l’ordre de 200 000 pour passer à 3 quand le nombre de clés monte à 210 000. cedrick21 n'a pas de souci à se faire...
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
|
10
|
|
|
#36 | |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 12 101 ![]() |
Citation:
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 * * * * * |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com