四.数据库结构优化
来源:互联网 发布:淘宝网品牌旗舰店 编辑:程序博客网 时间:2024/05/22 13:16
一.选择合适的数据类型
- 1.使用可以存下你的数据的最小的数据类型
- 2.使用简单的数据类型.Int要比varchar类型在mysql处理上简单
- 3.尽可能的使用not null定义字段
- 4.尽量少用text类型,非用不可时最好考虑分表
举例:
①使用int类型存储日期时间,利用from_unixtime(),unix_timestamp()两个函数来进行转换
create table test(id int auto_increment not null,timestr int,primary key(id));insert into test(timestr) values(unix_timestamp('2014-06-01 12:23:00'));
②使用bigint来存储IP地址,利用inet_aton(),inet_ntoa()两个函数来进行转换
create table sessions(id int auto_increment not null,ipaddress bigint,primary key(id));insert into sessions(ipaddress) values(inet_aton('192.168.0.1'));select inet_ntoa(ipaddress) from sessions;
二.范式化
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性.
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。
满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
三.反范式化
四.表的垂直拆分
解决:表的宽度问题(及字段非常多)
定义:把原来一个有很多列的表拆分成多个表.
通常垂直拆分可以按以下原则进行:
1.把不常用的字段单独存放到一个表中.
2.把大字段独立存放到一个表中.
3.把经常一起使用的字段放到一起.
五.表的水平拆分
解决:数据量过大
定义:把原来的数据量非常大的表水平拆分多个表,每个表中的字段都是一样的.
0 0
- 四.数据库结构优化
- MySQL性能优化四之数据库结构优化
- 数据库优化策略(四)
- 数据库优化之结构优化
- MYSQL 优化数据库结构
- mysql优化-数据库结构
- 29. 数据库结构优化
- Mysql数据库结构优化
- 数据库结构优化
- 数据库结构优化
- MySQL优化四(优化表结构)
- mysql数据库优化之数据库结构优化
- 数据库优化方案(四)
- MySQL数据库结构优化(一)
- Mysql数据库表结构优化
- Mysql优化(四)数据库优化
- mysql优化(1)-----数据库结构优化
- MySql优化--数据库和表结构优化
- 资料记录-框架&开源
- 【linux】fork() && fork() || fork()
- 人力资源总监的七条“毒计”
- the document "(null)" requires Xcode 8.0 or later
- ubuntu date
- 四.数据库结构优化
- 盘点全球最热门十家大数据公司中国占据三席
- 偏门正则大全
- RDLC报表实现二维码打印功能
- Spark基础的transformation 和 action的函数操作
- nmap 工具基本了解
- How to Google
- redis系列(五)持久化
- python unittest 没有执行 if __name__=='__main__'