当前位置:网站首页>MySQL Enterprise Development Specification
MySQL Enterprise Development Specification
2022-06-29 18:37:00 【000x000】
MYSQL Compilation des spécifications de développement
Tous les noms d'objets de la base de données doivent être en minuscules et soulignés(MySQLSensible à la casse,Le nom doit être connu.,Il vaut mieux ne pas dépasser32Les caractères)
Interdire le stockage d'images dans les données,Données binaires de fichiers(Utiliser un serveur de fichiers)
Interdire les tests de résistance à la base de données en ligne
Interdit à partir de l'environnement de développement,L'environnement d'essai est directement relié à la base de données sur l'environnement de production.
Limiter le nombre d'index par tableau,Il est recommandé que l'indice d'un seul tableau ne dépasse pas5- Oui.(L'indexation augmente l'efficacité de la requête,Mais réduit la vitesse d'insertion et de mise à jour)
Ne pas utiliserENUMType de données(ModifierENUMLa valeur doit être utiliséeALTERDéclarations,ENUMTypeORDER BYFaible efficacité opérationnelle,Opération supplémentaire requise,Ne pas utiliser la valeur du livre commeENUMValeur Enum pour
Essayez de définir tous les champs comme suit:NOT NULL(IndexNULLBesoin d'espace supplémentaire pour enregistrer,Donc plus de mémoire est nécessaire,Comparer et calculerNULLLes valeurs font l'objet d'un traitement spécial)
UtilisertimestampOudatetimeType pour stocker le temps
Données financières sur les montants,AdoptiondecimalType(Aucune perte de précision,Utilisation interdite float Et double)
Tous les noms d'objets de la base de données sont interditsMySQLConserver les mots clés
La table de bibliothèque temporaire doit êtretmpPréfixe et date comme suffixe(tmp_)
Les bibliothèques de sauvegarde et les bibliothèques doivent êtrebakPréfixe et date comme suffixe(bak_)
Tous les noms de colonnes et types de colonnes qui stockent les mêmes données doivent être cohérents.
Les Jeux de caractères de la base de données et de la table sont utilisés aussi uniformément que possibleutf8( Les Jeux de caractères doivent être uniformes , Évitez le brouillage causé par la conversion des jeux de caractères ,Les caractères chinoisutf8Sous - occupation3Octets)
Tous les tableaux et champs sont annotés COMMENT,Maintenance du dictionnaire de données depuis le début
Il est recommandé de gérer les mégadonnées au moyen de sous - tableaux physiques
Essayez de séparer les données froides et chaudes,Réduire la largeur du tableau(mysql Limiter le stockage maximum 4096Colonnes,Il n'y a pas de limite au nombre de lignes, Mais le nombre total d'octets par ligne ne peut pas dépasser 65535. Avantages liés aux restrictions de colonne :Réduire les disquesio,Taux de succès garanti du cache mémoire pour les données chaudes,Évitez de lire des données froides inutiles)
Interdire la création de champs réservés dans le tableau( Impossible de confirmer le type de données stockées , Modifier le type de champ réservé ,La table sera verrouillée)
Évitez les doubles%Etlike,La recherche ne doit pas être floue à gauche ou complètement floue( Si vous avez besoin d'un moteur de recherche pour résoudre .Le fichier index a B-Tree Propriétés de correspondance du préfixe le plus à gauche pour,Si la valeur à gauche n'est pas déterminée, Vous ne pouvez pas utiliser ce câble )
Il est recommandé d'utiliser des déclarations précompilées pour les opérations de base de données
Interdire les requêtes inter - bibliothèques ( Laisser place à la migration des données et à la Sous - table ,Réduction du couplage,Réduction des risques)
Interdictionselect * Requête(Consommer pluscpuEtio Et les ressources de bande passante du réseau ,Impossible d'utiliser l'index override)
in Si l'opération peut être évitée,Si ça ne peut pas être évité,,Une évaluation attentive est nécessaire in Nombre d'éléments de collection à l'arrière,Sous contrôle 1000 En un
Utilisation interditeorder by rand()Faire un tri aléatoire
Évitez les index redondants et dupliqués(Redondance:index(a,b,c) index(a,b) index(a))
Il est interdit d'indexer individuellement chaque colonne du tableau
Les colonnes les plus différenciées sont placées à l'extrême gauche de l'index fédéré
Essayez de placer la colonne avec la plus petite longueur de champ à l'extrême gauche de l'index fédéré
Essayez d'éviter les clés étrangères( Interdire l'utilisation de clés étrangères physiques ,La clé étrangère logique est recommandée)
Utiliser autant que possible union all Remplacer union
Split Complex BigSQLPour plusieurs petitsSQL( MySQLUnSQLUn seulCPUEffectuer des calculs)
Pour un compte de base de données de connexion de programme,Respecter le principe de l'autorisation minimale
Plus de trois tables sont interdites join.(Besoin join Champs pour,Le type de données doit être absolument cohérent;Lorsque plusieurs tables sont associées à une requête,Assurez - vous que les champs associés nécessitent un index.Même les tables doubles join Notez également l'index des tableaux、SQL Performance.)
InvarcharLorsque l'index est établi sur le champ,La longueur de l'index doit être spécifiée,Il n'est pas nécessaire d'indexer tous les champs,La longueur de l'index peut être déterminée en fonction de la segmentation réelle du texte.
SQL Objectifs d'optimisation des performances:Au moins range Niveau,La demande est ref Niveau,Si possible constsMieux vaut
Utiliser ISNULL()Pour déterminer si NULL Valeur.
Essayez de ne pas utiliser la suppression physique ( Supprimer directement , Faites une sauvegarde à l'avance si vous voulez supprimer ),Au lieu de cela, utilisez la suppression logique,Utiliser les champsdelete_flag Faire une suppression logique ,Le type esttinyint,0Indique qu'il n'a pas été supprimé,1Indique qu'il a été supprimé
S'il y a order by Scènes,Notez l'utilisation de l'ordre de l'index.order by Les derniers champs sont combinés ,Partie de l'index,Et à la fin de l'ordre des combinaisons d'index,Évitez d'apparaître file_sort Situation,Affecter la performance de la requête.
边栏推荐
- Failed to allocate graph: myriad device is not opened
- Record that the server has been invaded by viruses: the SSH password has been changed, the login fails, the malicious program runs full of CPU, the jar package fails to start automatically, and you ha
- 如何在树莓派上使用OAK相机?
- 报错[warning] Neural network inference was performed on socket ‘RGB’, depth frame is aligned to socket
- 面霸篇:MySQL六十六问,两万字+五十图详解!
- JWT login authentication
- [tcapulusdb knowledge base] tcapulusdb doc acceptance - Introduction to creating game area
- AMAZING PANDAVERSE:META”无国界,来2.0新征程激活时髦属性
- Adobe Premiere foundation - opacity (matte) (11)
- codeforces每日5题(均1700)-第二天
猜你喜欢

剑指 Offer 34. 二叉树中和为某一值的路径-dfs法

Error building SqlSession问题

国内酒店交易DDD应用与实践——理论篇

Source code installation mavros

Adobe Premiere foundation - material nesting (animation of Tiktok ending avatar) (IX)

Request header field XXXX is not allowed by access control allow headers in preflight response

jdbc_相关代码

如何将OAK相机当做网络摄像头使用?

Adobe Premiere基础-不透明度(混合模式)(十二)
![[how the network is connected] Chapter 3 explores hubs, switches and routers](/img/a9/39f7c474331b7de0bdaf6e59f0d15b.png)
[how the network is connected] Chapter 3 explores hubs, switches and routers
随机推荐
shell教程之循环语句for,while,until用法
数据分析--时间序列预测
Adobe Premiere基础-炫酷文字快闪(十四)
【TcaplusDB知识库】TcaplusDB运维单据介绍
Adobe Premiere foundation - opacity (matte) (11)
Usage of BeanUtils property replication
Source code installation mavros
535. encryption and decryption of tinyurl / Jianzhi offer II 103 Minimum number of coins
Adobe Premiere Basics - common video effects (corner positioning, mosaic, blur, sharpen, handwriting tools, effect control hierarchy) (16)
龙canvas动画
JDBC Codes connexes
VMware安装ESXI
WBF: new method of NMS post filter frame for detection task?
Error [warning] neural network information was performed on socket 'RGB', depth frame is aligned to socket
Shell tutorial circular statements for, while, until usage
Record that the server has been invaded by viruses: the SSH password has been changed, the login fails, the malicious program runs full of CPU, the jar package fails to start automatically, and you ha
SD6.24集训总结
程序员资源推荐指南
Adobe Premiere基础-批量素材导入序列-变速和倒放(回忆)-连续动作镜头切换-字幕要求(十三)
[tcapulusdb knowledge base] tcapulusdb doc acceptance - table creation approval introduction