本文涉及:高可用数据库设计时数据类型的选择原则
在进行数据库设计时,如果能够选择最恰当的数据类型就可以为后期的数据库调优打好最坚实的基础
选择数据类型的原则
更小的通常更好
例如存储订单状态字段很多时候使用0、1、2表示使用tinyint类型存储就够了,没必要搞个int、long甚至varchar来。
越小的数据类型代表着占用越小的磁盘、内存和CPU,也就代表着越快的速度。当然,不要为了追求小而不考虑实际的场景、通常选择一个不会超过范围的最小数据类型就好了
越简单越好
数据类型越简单操作所需要的CPU周期就越少,例如说ip地址通常使用int而不是varchar来存储
尽量避免NULL
包含NULL的列会使得索引、索引统计和值比较都变得复杂
各个数据类型占用的字节
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 |
相关推荐
在《MySQL性能调优与架构设计》一书中,附录部分提供了一个名为“example”的数据库创建脚本。这个脚本是用于演示和学习如何构建一个简单的数据库结构,它包含了几个核心表,如event、group_message、group_message_...
- **表设计优化**:合理设计表结构,减少冗余数据,选择合适的数据类型等。 - **InnoDB优化**:除了上述提到的缓冲池设置之外,还包括日志文件大小、事务隔离级别等方面的优化。 - **库级优化**:包括数据库级别的...
基础篇(1~5章)着重介绍了MySQL的基础知识,包括安装与配置、数据库概念、数据类型、SQL语言的基本用法以及表的设计原则。这一部分是学习MySQL的入门阶段,读者会了解到如何创建和管理数据库、表,以及如何使用SQL...
MySQL数据库调优是一个复杂而重要的任务,涉及到多个层面的优化策略。以下是一些关键的调优建议: 1. **字段宽度最小化**:减少字段宽度可以显著降低存储需求,进而节省磁盘空间和提高查询效率。例如,如果一个字段...
MySQL性能调优是一个涵盖多个方面的复杂主题,包括但不限于数据库引擎的选择、事务处理、索引优化、查询优化以及架构设计。以下是对压缩包中各文件名所对应知识点的详细阐述: 1. **InnoDB引擎底层原理**:InnoDB是...
通过对Oracle官方MySQL性能调优文档的深入解读,我们可以了解到MySQL优化涉及多个层面的技术细节,包括成本基础查询优化、监控与分析工具、数据访问与索引选择等。通过合理利用这些技术和工具,可以显著提升MySQL...
本文由王晓华针对MySQL数据库性能调优进行了深入分析,主要探讨了数据类型的选择和存储引擎的影响,并给出了实际操作建议。 首先,数据类型的选取是数据库设计的基础,遵循“保小不保大”的原则,尽可能选择占用...
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 小结 第...
├─10、课程:进阶数据类型(上).1、复杂数据类型及操作.mp4 ├─10、课程:进阶数据类型(上).2、空间.mp4 ├─10、课程:进阶数据类型(上).3、几何形状.mp4 ├─10、课程:进阶数据类型(上).4、Touch.mp4 ...
│ 04redis数据类型操作.mp4 │ 04安装search-guard.docx │ 05redis主从和哨兵操作.mp4 │ 06reids集群创建收缩扩容.mp4 │ 07redis运维工具.mp4 │ Elasticsearch分享V2.pdf │ Elasticsearch分享V4.pdf │ ES分享...
2. 数据类型:理解MySQL中的数据类型,如INT、VARCHAR、DATE、BOOLEAN等,以及它们在不同场景下的适用性。 3. 表结构设计:学习如何创建和设计高效的表结构,包括主键、外键、索引的使用,以及如何进行规范化设计以...
- 确定数据类型选择、规范化和反规范化等数据库设计原则。 3. 数据库备份与恢复: - 使用命令行工具或者图形界面备份工具执行数据备份。 - 在数据丢失或系统故障的情况下进行数据恢复。 - 学习定期备份计划的...
3. **数据类型与表设计**:MySQL支持多种数据类型,如整型、浮点型、字符串型和日期时间型等。在设计数据库时,选择合适的数据类型可以提高存储效率。同时,学习如何创建和管理表,包括主键、外键和索引的设置,对于...
- **R-树索引**:用于地理空间数据类型。 - **全文索引**:支持全文搜索。 ##### 2.3 B+树索引 B+树索引是MySQL中最常用的索引类型之一,其特点是所有叶子节点都指向物理磁盘地址,这使得查找过程非常高效。 ####...