MySQL 数据类型的最优选择
慎重选择数据类型很重要、为啥哩?可以提高性能、原理如下: ● 存储(内存、磁盘)、从而节省I/O(检索相同数据情况下) ● 计算、进而减负CPU负载 数据类型总体可分三种:数字、字符和时期 ㈠ 数字 ① 分类 ② 为整数类型指定宽度没啥意义、硬说呢、大概也
慎重选择数据类型很重要、为啥哩?可以提高性能、原理如下:● 存储(内存、磁盘)、从而节省I/O(检索相同数据情况下)
● 计算、进而减负CPU负载
数据类型总体可分三种:数字、字符和时期
㈠ 数字
① 分类
② 为整数类型指定宽度没啥意义、硬说呢、大概也是为了显示字符的个数、人性化点
因为、对于存储和计算而言、INT(1)和INT(100)是相同的
③ 对于浮点、建议只指定数据类型、而不要指定精度
④ 对于定点、尽量只在对小数精确计算时才使用、如存储财务数据
但天朝某些财务软件在其数据库内使用float作为工资类型
赤裸裸的资本家的丑恶展现、鄙视!!!
⑤ 在数据量较大时、建议把实数类型转为整数类型
原因很简单:
● 浮点不精确
● 定点计算代价昂贵
例如:
要存放财务数据精确到万分之一、则可以把所有金额乘以一百万、然后存在BIGINT下
㈡ 字符串
① 分类
② 数据如何存储取决于存储引擎
char和varchar在不同引擎在内存和磁盘可能是不一样的
不过、对于char、在填充和截取上是一样的、因为、
这部分是在Server层完成的
③ 常见 char 使用场景
● 很短的字符串或所有值都接近同一个长度、如存储密码的MD5值
● 经常变更的列、因为char产生的碎片少
● 非常短的列、如性别、char(1)的效率更好、毕竟varchar(1)浪费了1一个字节
④ 和字符集的那点猫腻
CSDN 有个讨论非常热的帖子:有人认为unicode跟utf-8是等同的吗? 点击看讨论贴
我赶脚、这其实没啥好讨论的、因为、这两个根本就是两回事
Unicode 是字符编码
utf8 是字符集
对Unicode编码的字符集、墙裂建议使用varchar
显然、utf8 也是Unicode 编码的、而且、随着国际化趋势、utf8 是首选
那么、结果是、在char 和 varchar 竞争里、varchar 便是最大赢家
可通过下列方法查看MySQL Unicode支持的字符集以及当前的字符集
mysql> select CHARACTER_SET_NAME from character_sets -> where DESCRIPTION like '%Unicode%'\G; *************************** 1. row *************************** CHARACTER_SET_NAME: utf8 *************************** 2. row *************************** CHARACTER_SET_NAME: ucs2 *************************** 3. row *************************** CHARACTER_SET_NAME: utf8mb4 *************************** 4. row *************************** CHARACTER_SET_NAME: utf16 *************************** 5. row *************************** CHARACTER_SET_NAME: utf32 5 rows in set (0.06 sec) mysql> status; -------------- mysql Ver 14.14 Distrib 5.5.16, for Linux (i686) using EditLine wrapper Connection id: 1 Current database: information_schema Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.16-log Source distribution Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /tmp/mysql.sock Uptime: 2 min 9 sec
⑤ 对于InnoDB 建议使用varchar
现在很多场合都使用了InnoDB、算下来、varchar 又赢了
⑥ 存储大数据
● BLOB:采用二进制存储、没有字符集或排序规则
● TEXT:采用字符方式存储、有字符集和排序规则
最好尽量避免使用这两、如果可以、可以把BLOB货TEXT 列分离成单独的表
对于使用了BLOB或TEXT大量删除或更新时、
建议定期使用 optimize table 碎片整理
㈢ 日期和时间类型
常见的有 datatime、timestamp 和 date
从存储上看、timestamp 占 4 个字节、其他两个 8 个字节
所以、若无意外、最好尽量使用 timestamp 、即使它比较调皮、例如和时区相关
By David Lin
2013-06-02
Good Luck

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dans la base de données MySQL, la relation entre l'utilisateur et la base de données est définie par les autorisations et les tables. L'utilisateur a un nom d'utilisateur et un mot de passe pour accéder à la base de données. Les autorisations sont accordées par la commande Grant, tandis que le tableau est créé par la commande Create Table. Pour établir une relation entre un utilisateur et une base de données, vous devez créer une base de données, créer un utilisateur, puis accorder des autorisations.

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

Simplification de l'intégration des données: AmazonrDSMysQL et l'intégration Zero ETL de Redshift, l'intégration des données est au cœur d'une organisation basée sur les données. Les processus traditionnels ETL (extrait, converti, charge) sont complexes et prennent du temps, en particulier lors de l'intégration de bases de données (telles que AmazonrDSMysQL) avec des entrepôts de données (tels que Redshift). Cependant, AWS fournit des solutions d'intégration ETL Zero qui ont complètement changé cette situation, fournissant une solution simplifiée et à temps proche pour la migration des données de RDSMySQL à Redshift. Cet article plongera dans l'intégration RDSMYSQL ZERO ETL avec Redshift, expliquant comment il fonctionne et les avantages qu'il apporte aux ingénieurs de données et aux développeurs.

Pour remplir le nom d'utilisateur et le mot de passe MySQL: 1. Déterminez le nom d'utilisateur et le mot de passe; 2. Connectez-vous à la base de données; 3. Utilisez le nom d'utilisateur et le mot de passe pour exécuter des requêtes et des commandes.

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

1. Utilisez l'index correct pour accélérer la récupération des données en réduisant la quantité de données numérisées SELECT * FROMMLOYEESEESHWHERELAST_NAME = 'SMITH'; Si vous recherchez plusieurs fois une colonne d'une table, créez un index pour cette colonne. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

Guide d'optimisation des performances de la base de données MySQL dans les applications à forte intensité de ressources, la base de données MySQL joue un rôle crucial et est responsable de la gestion des transactions massives. Cependant, à mesure que l'échelle de l'application se développe, les goulots d'étranglement des performances de la base de données deviennent souvent une contrainte. Cet article explorera une série de stratégies efficaces d'optimisation des performances MySQL pour garantir que votre application reste efficace et réactive dans des charges élevées. Nous combinerons des cas réels pour expliquer les technologies clés approfondies telles que l'indexation, l'optimisation des requêtes, la conception de la base de données et la mise en cache. 1. La conception de l'architecture de la base de données et l'architecture optimisée de la base de données sont la pierre angulaire de l'optimisation des performances MySQL. Voici quelques principes de base: sélectionner le bon type de données et sélectionner le plus petit type de données qui répond aux besoins peut non seulement économiser un espace de stockage, mais également améliorer la vitesse de traitement des données.

Une explication détaillée des attributs d'acide de base de données Les attributs acides sont un ensemble de règles pour garantir la fiabilité et la cohérence des transactions de base de données. Ils définissent comment les systèmes de bases de données gérent les transactions et garantissent l'intégrité et la précision des données même en cas de plantages système, d'interruptions d'alimentation ou de plusieurs utilisateurs d'accès simultanément. Présentation de l'attribut acide Atomicité: une transaction est considérée comme une unité indivisible. Toute pièce échoue, la transaction entière est reculée et la base de données ne conserve aucune modification. Par exemple, si un transfert bancaire est déduit d'un compte mais pas augmenté à un autre, toute l'opération est révoquée. BeginTransaction; UpdateAccountSsetBalance = Balance-100Wh
