`

MySQL调优之数据类型选择原则

阅读更多

本文涉及:高可用数据库设计时数据类型的选择原则

 

在进行数据库设计时,如果能够选择最恰当的数据类型就可以为后期的数据库调优打好最坚实的基础

 

选择数据类型的原则

 

更小的通常更好

 

例如存储订单状态字段很多时候使用0、1、2表示使用tinyint类型存储就够了,没必要搞个int、long甚至varchar来。
越小的数据类型代表着占用越小的磁盘、内存和CPU,也就代表着越快的速度。当然,不要为了追求小而不考虑实际的场景、通常选择一个不会超过范围的最小数据类型就好了

 

越简单越好

 

数据类型越简单操作所需要的CPU周期就越少,例如说ip地址通常使用int而不是varchar来存储

 

尽量避免NULL

 

包含NULL的列会使得索引、索引统计和值比较都变得复杂

 

各个数据类型占用的字节

 

数据类型 所占字节(byte)
tinyint 1
smallint 2
medumint 3
int 4
bigint 8
float 4
double 8
decimal(m,d) m+2
date 3
datetime 8
timestamp 4
char(n) 1-n-255
varchar(n) 1-n-65532
tinyblob 255
blob 65535
medumblob 16777215
longblob 4294967295
tinytext 255
text 65535
medumtext 16777215
longtext 4294967295
0
0
分享到:
评论

相关推荐

    MySQL5.1性能调优与架构设计.mobi

    9.2 合适的数据类型 9.3 规范的对象命名 9.4 小结 第10章 MySQL Server性能优化 10.0 引言 10.1 MySQL安装优化 10.2 MySQL日志设置优化 10.3 Query Cache优化 10.4 MySQL Server其他常用优化 10.5 小结 第...

    169集全新MySQL课程 MySQL技能全面探索 MySQL核心特训教程 MySQL零基础实战班视频

    ├─10、课程:进阶数据类型(上).1、复杂数据类型及操作.mp4 ├─10、课程:进阶数据类型(上).2、空间.mp4 ├─10、课程:进阶数据类型(上).3、几何形状.mp4 ├─10、课程:进阶数据类型(上).4、Touch.mp4 ...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 04redis数据类型操作.mp4 │ 04安装search-guard.docx │ 05redis主从和哨兵操作.mp4 │ 06reids集群创建收缩扩容.mp4 │ 07redis运维工具.mp4 │ Elasticsearch分享V2.pdf │ Elasticsearch分享V4.pdf │ ES分享...

    Mysql数据库实战教程&案例&相关项目

    数据类型与索引:掌握MySQL支持的数据类型以及如何设计索引以提高查询效率。 存储引擎:了解不同的存储引擎如InnoDB、MyISAM的特性及其适用场景。 性能优化:学习如何分析查询性能并进行优化,包括查询重写和数据库...

    Mysql面试过关!(详解:索引+常用引擎+常见问题+sql调优)

    3.5 参数类型与字段类型不匹配,导致类型发生了隐式转换,索引失效 3.6 查询条件使用or关键字,其中一个字段没有创建索引,则会导致整个查询语句索引失效; or两边为“>”和“<”范围查询时,索引失效 3.7 两列数据...

    MySQL DBA 数据库工程师实战经验

    1. **数据库基础知识**:介绍MySQL数据库的基本概念,包括数据库设计原则、数据类型、表结构设计等。 2. **SQL语言应用**:深入讲解SQL语言的高级应用,包括复杂查询、事务处理、存储过程、触发器等。 3. **数据库...

    程序员的SQL金典.rar

     1.2.4 数据类型(DataType)  1.2.5 记录(Record)  1.2.6 主键(PrimaryKey)  1.2.7 索引(Index)  1.2.8 表关联  1.2.9 数据库的语言——SQL  1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据...

    程序员的SQL金典6-8

     1.2.4 数据类型(DataType)  1.2.5 记录(Record)  1.2.6 主键(PrimaryKey)  1.2.7 索引(Index)  1.2.8 表关联  1.2.9 数据库的语言——SQL  1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据...

    程序员的SQL金典7-8

     1.2.4 数据类型(DataType)  1.2.5 记录(Record)  1.2.6 主键(PrimaryKey)  1.2.7 索引(Index)  1.2.8 表关联  1.2.9 数据库的语言——SQL  1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据...

    程序员的SQL金典3-8

     1.2.4 数据类型(DataType)  1.2.5 记录(Record)  1.2.6 主键(PrimaryKey)  1.2.7 索引(Index)  1.2.8 表关联  1.2.9 数据库的语言——SQL  1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据...

    程序员的SQL金典4-8

     1.2.4 数据类型(DataType)  1.2.5 记录(Record)  1.2.6 主键(PrimaryKey)  1.2.7 索引(Index)  1.2.8 表关联  1.2.9 数据库的语言——SQL  1.2.10 DBA与程序员 第2章 数据表的创建和管理  2.1 数据...

    Oracle数据库学习指南

    8. ORACLE的数据类型 9. Oracle数据库碎片整理 10.ORACLE性能调整1 11.ORACLE性能调整2 12.Oracle专家调优秘密 13.PL_SQL单行函数和组函数详解 14.PL-SQL 15.PLSQL异常处理初步 16.SQL语句性能调整...

    03开源NewSql数据库TiDB-Deep Dive into TiDB

    下推更多的数据类型和函数到 TiKV 计算 优化 `Load Data` 性能,提升 10 倍以上 支持对物理算子内存使用进行统计,通过配置文件以及系统变量指定超过阈值后的处理行为 支持限制单条 SQL 语句使用内存的大小,减少...

Global site tag (gtag.js) - Google Analytics