types de données MySQL et d'optimisation des performances des instances --- 2

Sélectionnez le jeu de caractères

détermine directement le jeu de caractères codage de données stockées dans MySQL, pour le même contenu en utilisant différents jeux de caractères représentant la quantité d'espace varie grandement, donc en utilisant le jeu de caractères approprié qui peut nous aider à réduire les données autant que possible constituer, en réduisant ainsi le nombre d'opérations d' entrées - sorties.
Sommaire 1. purs caractères latins peuvent être représentés, pas besoin de sélectionner un codages de caractères différents autres que latin1, car il permettrait d' économiser beaucoup d'espace de stockage.
2. Si vous n'avez pas besoin d'être stockés dans plusieurs langues , nous pouvons déterminer, il n'y a pas besoin d'avoir à utiliser un autre type de caractères UNICODE ou UTF8, cette fois -ci a causé beaucoup d'espace de stockage gaspillé.
3.MySQL peut être précis au champ de type de données, donc quand nous avons besoin d' une grande base de données stockées dans les données multi-octets, les différents types de données peuvent être utilisés dans une large mesure à réduire la quantité de données stockées dans différents champs dans des tables différentes, ce qui réduit IO nombre d'opérations et d' améliorer le taux de succès de cache.

Sélectionnez la clé primaire

Recommander l'utilisation d'une clé primaire de substitution, et non pas avec un couple d'affaires, plus facile de maintenir
une clé primaire de remplacement: aux entreprises, séquence sens des nombres
clé naturelle: la propriété des choses dans le naturel identifier de manière unique
la majorité de la table, de préférence toutes les tables, clé universelle stratégie peut réduire le nombre de besoins de code source à écrire, le système pour réduire le coût total de possession

optimisation de type de données

1. Les données petites, bonnes données
devraient essayer d'utiliser le plus petit type de données qui peut stocker correctement les données, les petits types de données sont généralement plus rapides , car ils prennent moins d' espace disque, la mémoire et le cache du processeur, et nécessite moins de cycles CPU lors du traitement
2. éviter null
peut être optimisé pour exécuter les colonnes SQL nulles de telle sorte que lorsque l'index, la valeur de l' indice et la comparaison statistique est plus compliquée
3. plus appropriée type de données
1, le caractère inférieur entier que le coût de fonctionnement, puisque le jeu de caractères et la collation règles de comparaison de caractères complexe que le nombre entier
2, en utilisant mysql type auto-construit. Une telle ne peut pas être utilisé pour stocker la date et l' heure de la chaîne
3 peut faire l' adresse IP stockée sous forme d' un nombre entier , avec fonction INET_ATON () convertit inet_ntoa et entre les deux représentations. L'avantage est réduit l' espace de stockage, l'inconvénient est moins lisible

SELECT INET_ATON('192.168.23.4');
SELECT INET_NTOA(3232241412);

4. TINYINT, SMALLINT, MEDIUMINT, l'INT, ont été utilisés espace mémoire bits BIGINT 8,16,24,32,64. A besoin de faire usage d'un type de données minimum
5 en fonction de la vitesse de requête: char> VARCHAR> texte
carbonisation longueur fixe, à savoir la longueur de chaque espace octet de données occupée par les analogues; la longueur maximale est de 255 caractères, peut être utilisé dans le numéro d'identification, le numéro de téléphone autre chaîne de longueur fixe de
varchar degrés variables, la longueur maximale peut être prévu, la taille maximale est de 65535 octets, approprié pour une utilisation dans l'attribut de longueur variable de
longueur de texte ne sont pas fixés, ne sait pas quand la longueur maximale de l'attribut, avec le texte approprié
6.. BLOB et TEXT valeurs en tant que traitement d' un objet séparé. type String conçu pour stocker de grandes données stockées respectivement binaire et de caractère.
7. classe d'énumération
peut parfois être utilisé à la place du type de chaîne habituelle de classe d'énumération, types mysql ENUM sont stockés dans un très compact, il sera compressé à un ou deux octets dans la liste des données de valeurs, mysql l' intérieur de chaque volonté Enregistrer la valeur de la position dans la liste est un nombre entier et stocké dans la table de fichiers .frm - relation de mappage de table recherche de « chaîne numérique »

create table enum_test(e enum('fish','apple','dog') not null);--创建表字段为枚举类型
insert into enum_test(e) values('fish'),('dog'),('apple');--插入数据
select e+0 from enum_test;--查询
select * from enum_test where e = 0;--查询
select * from enum_test where e = 'fish';--查询

8.datetime和timestamp
datetime

8 octets
quel que soit le fuseau horaire, la configuration du fuseau horaire base de données sous - jacente de datetime non valide
enregistrée milliseconde
peut enregistrer une large gamme de temps de
ne pas stocker le type de chaîne de date, un grand espace, la facilité de la perte de la fonction de la date de type

horodatage

4 octets
temps: 01.01.1970 à 19.01.2038
exacts à la deuxième
magasins de nombre entier de
la durée réglée en fonction de la zone de base de données
met à jour automatiquement la valeur d'horodatage de la colonne

Date

Ratio du nombre d'octets occupé par la chaîne, datetime, stockage int moins, la date d'utilisation seulement trois octets de type en
utilisant le type de date peuvent également être calculées en utilisant la date et l' heure entre la fonction date
type de date pour le stockage 1000-01- date de entre 01 9999-12-31

Paradigme et de contre-paradigme

Vous ne devez pas respecter strictement le paradigme et de contre-paradigme, l'analyse réelle basée sur les entreprises réelles. champ de redondance nécessaire peut réduire beaucoup de la table associée

paradigme

avantages:

Les mises à jour du modèle de paradigme sont généralement plus rapides que trans
quand une meilleure normalisation des données, peu ou pas de duplication des données
normalisation des données est relativement faible, peut être placé en mémoire, exploitation plus rapide des
inconvénients:
doit généralement être associée

Anti paradigme

avantages:

Toutes les données de la même table, association éviter
peut concevoir un indice efficace
Inconvénients:
plus de redondance dans le tableau, efface les données lorsque la table entraînera des informations utiles sont perdues

moteur de stockage de choix

Storage Engine

répartition adéquate

Le grand type de champ champs de texte tels que grande ou gros caractères VARCHAR, l' accès à cette table , sinon l' accès au champ principal, il est rompu dans un tableau distinct à l' autre, afin de réduire l'espace de stockage occupé par les données fréquemment utilisées.
Cela permet au nombre de morceaux de données dans chaque bloc de données peuvent être stockées augmente, le nombre de IO réduire les conséquences physiques, mais peut aussi améliorer la mémoire de taux de succès de cache.

Je suppose que tu aimes

Origine www.cnblogs.com/farmersun/p/12483816.html
conseillé
Classement