解释分析MySQL数据类型
数据库存储中的数据类型与大小各异。有些地方只存储数字类型,有些只存储文本类型,有些二者而兼之。而很多数据库支持各种专用类型:日期和时间类型,二进制字符类型以及布尔类型。选择数据类型与数据相匹配是数据库设计中最为重要的部分,因为这种类型将会影响到RDBMS的效率与性能。所以,对RDBMS的数据类型选择应给予足够的重视。 这就是编写本文的主要目的。表A将列举了MySQL支持的绝大部分重要的数据类型,而MySQL是当前最为流行的免费RDBMS。文中还描述了何时与如何使用这些数据类型。这将有助于建立一个数据库的合理设计。 表 A
数据类型
描述
字节
推荐使用
SMALLINT
整数,从-32000到 +32000范围
2
存储相对比较小的整数。 比如: 年纪,数量
INT
整数,从-2000000000 到 +2000000000 范围
4
存储中等整数 例如: 距离
BIGINT
不能用SMALLINT 或 INT描述的超大整数。
8
存储超大的整数 例如: 科学/数学数据
FLOAT
单精度浮点型数据
4
存储小数数据 例如:测量,温度
DOUBLE
双精度浮点型数据
8
需要双精度存储的小数数据 例如:科学数据
DECIMAL
用户自定义精度的浮点型数据
变量;取决于精度与长度
以特别高的精度存储小数数据。 例如:货币数额,科学数据
CHAR
固定长度的字符串
特定字符串长度(高达255字符)
存储通常包含预定义字符串的变量 例如: 定期航线,国家或邮编
VARCHAR
具有最大限制的可变长度的字符串
变量; 1 + 实际字符串长度 (高达 255 字符)
存储不同长度的字符串值(高达一个特定的最大限度). 例如:名字,密码,短文标签
TEXT
没有最大长度限制的可变长度的字符串
Variable; 2 +聽 actual string length
存储大型文本数据 例如: 新闻故事,产品描述
BLOB
二进制字符串
变量;2 + 实际字符串长度
存储二进制数据 例如:图片,附件,二进制文档
DATE
以 yyyy-mm-dd格式的日期
3
存储日期 例如:生日,产品满期
TIME
以 hh:mm:ss格式的时间
3
存储时间或时间间隔 例如:报警声,两时间之间的间隔,任务开始/结束时间
DATETIME
以yyyy-mm-ddhh:mm:ss格式结合日期和时间
8
存储包含日期和时间的数据 例如:提醒的人,事件
TIMESTAMP
以yyyy-mm-ddhh:mm:ss格式结合日期和时间
4
记录即时时间 例如:事件提醒器,“最后进入”的时间标记
YEAR
以 yyyy格式的年份
1
存储年份 例如:毕业年,出生年
ENUM
一组数据,用户可从中选择其中一个
1或 2个
相关文档:
常用MySQL的童鞋都知道这个myisam类型的表极容易损坏,多数人可能都是用myisamchk命令来人工修复,下面介绍一种自动修复myisam的方法,也是我上午刚学的,共同进步,呵呵~
在MySQL的配置文件my.cnf中,启动项部分加入myisam-recover设置数据恢复功能,具体 ......
为了应用系统的可伸缩性,往往需要对数据库进行scale out设计,scale out设计也就是通过增加数据库处理节点来提高系统整体的处理能力,即增加数据库服务器的数量来分担压力。通过这种方式系统的伸缩性增强了,成本也降低了,但是系统的架构负责了,维护困难了。难免出现系统的宕机或故障。因此,理论上来说,系统的安全性( ......
1 modify the /etc/mysql/my.cnf
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
you see the bind-address, comment it. 注掉它 ......
Chapter 4. Indexes
索引有助于MySQL在浩如烟海的数据中迅速找到和取得正确的记录。
4.1 Indexing Basics
4.1.1 Index Concepts
索引是按照某种规则排序的。索引也就是牺牲一些空间和cpu的开销来使你的查询跑得更快点。另外提醒的是,对于MySQL来讲,术语“Key”和“Index”是可以互相替换的。
4. ......