数据库结构优化
来源:互联网 发布:2016校园暴力事件数据 编辑:程序博客网 时间:2024/06/04 19:17
选择合适的数据类型:
数据类型的选择,重点在于合适二字,如何确定选择的数据是否合适?
1:使用可以存下你爹数据的最小数据类型。
2:使用简单的数据类型,Int要比型varchar类型在mysql处理上简单。
3:尽可能的 使用not null定义字段。
4:尽量少用text类型,非用不可时最好考虑分表。
使用int来存储日期时间,利用UNIX_TIMESTAMP(),FROM_UNIXTIME()连个函数来进行转换。(前边为插入数据库使用后边为搜索数据库下同)
使用bigint来存储IP地址,利用INET_ATON(),INET_NTOA()两个函数来进行转换。
5:表的范式化和反范式化
反范式化是指 为了查询效率的考虑把原来符合第三范式的表适当的增加冗余,已达到优化查询效率的目的,反范式化是一种以空间来换取时间的操作。
原表结构及查询数据sql语句写法:
增加冗余以后表结构和查询sql语句写法:
6:表的垂直拆分:
所谓垂直拆分就是把原来一个有很多列的表拆分成多个表,这解决了表的宽度问题,通常垂直拆分可以按以下原则进行:
1.把不常用的字段单独存放在一个表中。
2.把大字段独立存放到一个表中。
3.把经常在一起的字段放到一起。
拆分前:
拆分后:
7:表的水平拆分:
表的水平拆分要是为了解决单表的数据量过大的问题,水平拆分的表每个表的结构都是完整一致的。以下面的payment表为例
1.对customer_id进行hash运算,如果要拆分成5个表则使用mod(customer_id,5)取出0-4个值。
2.针对不同的hashID把数据存到不同的表中。
不足:
1:跨分区表进行数据查询。
2:统计及后台报表操作。
- 数据库优化之结构优化
- MYSQL 优化数据库结构
- mysql优化-数据库结构
- 29. 数据库结构优化
- Mysql数据库结构优化
- 四.数据库结构优化
- 数据库结构优化
- 数据库结构优化
- mysql数据库优化之数据库结构优化
- MySQL数据库结构优化(一)
- Mysql数据库表结构优化
- mysql优化(1)-----数据库结构优化
- MySql优化--数据库和表结构优化
- 数据库优化之表结构优化
- 【mysql 性能优化篇】优化数据库结构
- 设计高性能数据库[优化数据库结构]
- mysql数据库的优化整理之数据库结构优化
- Mysql性能优化----SQL语句优化、索引优化、数据库结构优化、系统配置优化、服务器硬件优化
- Oracle dataguard一主两备环境搭建
- 大部分人都会做错的经典JS闭包题
- Virtual Box 后台运行虚拟机
- php中四种webservice实现的简单架构方法及实例
- Test.7Time
- 数据库结构优化
- 学习An introduction to machine learning with scikit-learn笔记
- XCode9的新变化
- FATAL namenode.NameNode: Exception in namenode join java.lang.ExceptionInInitializerError
- 数组中重复的数字
- MUI 拍照和从系统相册选择图片上传
- git中Please enter a commit message to explain why this merge is necessary
- 从Mysql官网下载mysql.tar.gz版本的安装包
- 摩拜与ofo, 你们这是为了共享单车还是共享经济?