Tec&Cult
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Tec&Cult

Technologie et Culture
 
AccueilAccueil  PortailPortail  GalerieGalerie  Dernières imagesDernières images  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Derniers sujets
» Que faire à Paris le week-end du 15 août ?
Récapitulons EmptyJeu 11 Aoû - 11:20 par Admin

» T-shirt Mec de Paname
Récapitulons EmptyMer 3 Aoû - 17:04 par Admin

» dating web site uk dating free parent single
Récapitulons EmptyMer 3 Aoû - 10:56 par Invité

» rsvp dating website seeking bisexual
Récapitulons EmptyLun 1 Aoû - 2:08 par Invité

» dating french woman gay bottom seeking tops
Récapitulons EmptyDim 31 Juil - 21:59 par Invité

» dating philippine woman man seeking wealthy woman
Récapitulons EmptyVen 29 Juil - 12:51 par Invité

» dating lesbian n r cacee cobb dating lachey nick
Récapitulons EmptyVen 29 Juil - 3:17 par Invité

» single dating chat room relationship dating advice
Récapitulons EmptyJeu 28 Juil - 0:21 par Invité

» скачать порно тетя скачать порнофото семейное
Récapitulons EmptyJeu 21 Juil - 14:34 par Invité

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Forum
Partenaires
Forum gratuit


Tchat Blablaland
-17%
Le deal à ne pas rater :
-17% Apple MacBook Air M2 13” 512 Go (2022)
1179 € 1429 €
Voir le deal

Partagez | 
 

 Récapitulons

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Admin
Admin


Messages : 156
Date d'inscription : 20/05/2010

Récapitulons _
MessageSujet: Récapitulons   Récapitulons EmptyVen 5 Nov - 12:14

http://toptech.geekaddict.net/
Reprenons donc maintenant la table que je vous avais présentée au départ comme plus optimisée :


id SMALLINT(4) au lieu de INT(4)
Si je sais que id sera un nombre à 4 chiffres (ici, ce serait par exemple si je ne comptais pas inscrire plus de 9999 lignes dans cette table) alors le SMALLINT suffit puisqu'il va jusqu'à 65 535.

pseudo VARCHAR(40) au lieu de TEXT
On aurait aussi pu choisir TINYTEXT ou TINYBLOB. Tous prendrons comme espace la longueur du pseudo + 1 et le pseudo sera limité à 40 caractères sans avoir besoin d'aucun traitement. (Pour un pseudo, c'est plutôt bien de ne pas pouvoir dépasser une certaine longueur, sinon gare à l'affichage, les pseudo qui dépassent l'écran...). Niveau optimisation, on ne gagne qu'un seul octet mais c'est déjà ça.

date DATE au lieu de VARCHAR(10)
Ici on gagne 7 octets (soit 70% de la place initialement occupée) et les dates sont forcément valides. Pas besoin de vérifier que la date insérée est au bon format. Vous pouvez insérer mysql_real_escape_string($_POST['date']) directement dans la table sans risquer d'avoir des blagues du genre "aujourdhui" qui aurait pu être écrit dans un VARCHAR.

design_choisi SET au lieu de VARCHAR(16)
Toujours plus fort, là on gagne 15 octets (soit 94%). Avec 3 choix, SET ne prend que 1 octet. On aurait aussi pu choisir ENUM mais pour le même prix, on peut avoir la possibilité de n'avoir aucun design, ou plusieurs (après, c'est à vous de voir...)

telephone INT(10) au lieu de VARCHAR(10)
Gain de 6 octets (60%) et l'attribut ZEROFILL se charge de rajouter les zéros qui manquent pour faire 10 chiffres.

Au final, il n'y a que 3 règles à retenir :
Le type de valeur retournée doit correspondre aux valeurs que vous enregistrez afin que leur traitement en sortie soit optimal.
Les limites doivent être les plus restrictives possibles tout en laissant suffisemment de possibilité pour que le champ réponde à tous vos besoins.
Le poids doit être le plus petit possible.


Et voici sous forme de tableau la liste des champs que nous avons étudiés dans ce tutoriel et leurs propriétés les plus importantes. Je vous invite à vous y référer aussi souvent que nécessaire :

Type
de colonne Poids Type de valeur
retournée Limite
Types numériques
TINYINT 1 Nombre entier [-127 ; 127] ou [0 ; 255] en UNSIGNED
SMALLINT 2 Nombre entier [-32 768 ; 32 767] ou [0 ; 65 535]
MEDIUMINT 3 Nombre entier [-8 388 608 ; 8 388 607] ou [0 ; 16 777 215]
INT 4 Nombre entier [-2 147 483 648 ; 2 147 483 647] ou [0 ; 4 294 967 295]
BIGINT 8 Nombre entier [-9,22 x1018 ; 9,22 x1018] ou [0 ; 1,84 x1019]
FLOAT 4 Nombre à virgule 24 chiffres
DOUBLE 8 Nombre à virgule 53 chiffres
DECIMAL 8 Nombre à virgule 53 chiffres
Types date et heure
TIMESTAMP 4 Nombre entier [19700101000000 ; 20380119041407]
YEAR 1 Nombre entier [1901 ; 2155]
DATE 3 Chaîne [1000-01-01 ; 9999-12-31]
DATETIME 8 Chaîne [1000-01-01 00:00:00 ; 9999-12-31 23:59:59]
TIME 3 Chaîne [00:00:00 ; 23:59:59]
Types chaînes
CHAR M Chaîne 255 caractères (pour M, voir Champs de texte)
VARCHAR L+1 Chaîne 255 caractères (L est la longueur du texte)
TINYTEXT L+1 Chaîne 255 caractères
TEXT L+2 Chaîne 65 535 caractères
MEDIUMTEXT L+3 Chaîne 16 777 215 caractères
LONGTEXT L+4 Chaîne 4 294 967 296 caractères
Types binaires
TINYBLOB L+1 Chaîne binaire 255 caractères
BLOB L+2 Chaîne binaire 65 535 caractères
MEDIUMBLOB L+3 Chaîne binaire 16 777 215 caractères
LONGBLOB L+4 Chaîne binaire 4 294 967 296 caractères
Types à choix multiples
SET 1 Chaîne 8 choix
SET 2 Chaîne 16 choix
SET 3 Chaîne 24 choix
SET 4 Chaîne 32 choix
SET 8 Chaîne 64 choix
ENUM 1 Chaîne 255 choix
ENUM 2 Chaîne 65 535 choix
Revenir en haut Aller en bas
http://toptech.geekaddict.net
 

Récapitulons

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Tec&Cult :: Informatique :: Oracle :: Oracle PL SQL-
Sauter vers: