`
JohnHust
  • 浏览: 955 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

数据库优化(1)---Schema设计的性能优化

阅读更多

模式设计的根本方案:

1.避免过多Join,较小重复开销;

2.减小空间,降低表扫描IO;

3.保证索引被及Query Cache被充分利用

总之,根据实际数据库访问需求,在三者之间寻找平衡,到达效率最优的目的。

 

高效的模型设计:

1.适度冗余,让Query减少Join。查询频率远远大于插于更新频率的时候,维护冗余数据一致性带来的性能开销对于查询提高的效率来说,是可以忍受的。通过少部分操作的成本换来更大(更频繁操作)的性能收获,是性能优化总经常使用的策略。Join几个表影响数据库优化执行计划。

2.大字段垂直分拆,summary表优化。分离大字段,通过单独的表存放,在我们访问数据库的收获大大降低了IO访问,从而使性能得到极大的改善。选择冗余和大字段分拆必须根据操作类型的分布来判定。只要满足相对访问频率低,就可分离出去。另外由于分离的大字段和原表记录是——对应的关系,因此Join的时候,性能影响也不是非常大。

3.大表水平分拆——基于类型的分拆优化。表数据空间很大,部分数据访问频率很高,与其他记录没有关联交互,记录量比普通记录少很多,这种情况,考虑将这部分的数据单独放在表中,避免普通记录的大量访问导致该部分数据的Query Cache失效。

4.统计表,准实时优化。将实时的统计需求,转化为定时任务,平衡实际需求和性能开销。

 

 

优化数据类型主要包括两个方面:

1.选用小数据类型,减少存储空间,降低查询数据IO;

2.合理数据类型加速数据的比较

 

数据类型:

类型 存储长度(字节) 最小值(无符号) 最大值(有符号)
整型数字
TINYINT 1 -2^7(0) 2^7-1(2^8)
SMALLINT 2 -2^15(0) 2^15-1(2^16)
MEDIUMINT 3 -2^23(0) 2^23-1(2^24)
INT 4 -2^31(0) 2^31-1(2^32)
BIGINT 8 -2^63(0) 2^63-1(2^64)
小数支持
FLOAT 4 or 8
DOUBLE 8
时间类型
DATETIME 8 1001-01-01 00:00:00 9999-12-31 23:59:59
DATE 3 1001-01-01 9999-12-31
TIME 3 00:00:00 23:59:59
YEAR 1 1001 9999
TIMESTAMP 4 1970-01-01 00:00:00
字符存储类型(字符为单位,字符所占字节由具体的存储字节决定 , 设字符所在字节为定值 X)
CHAR(M) M*X X 255*X(不一定,GBK510字节)
VARCHAR(M) M*X+1或者 M*X+2 1 255字符 或者 65535字节

TINYTEXT、TEXT、

MEDIUMTEXT、LONGTEXT

—— —— 动态存储长度,+ 存放字符长度的空间
其他类型
BIT(M) (M+7)/8字节 1 (64+7)/8
ENUM('v1','v2'...) 1~2 1 取决于存储数目,最大65536个值,枚举索引两个字节
分享到:
评论

相关推荐

    Oracle数据库性能优化浅析

    对于数据库系统来说, 优化是一件非常重要的工作, 本文从SQL查询的内部原理、 oracle数据库服务器处理SQL的原理、oracle数据库 s q l 优化 原则 、 oracle SQL 怎 么优化几个方面对oracle 数据库 的性能优化进行了...

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

    OLAP 性能优化 TiDB 2.0 版本重构了 SQL 优化器和执行引擎,希望能尽可能快的选择最优查询计划并且尽可能高效地执行查询计划。 1.0 版本已经从基于规则的查询优化器转向基于代价的查询优化器,但是还不够完善,在 ...

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

    第9章 MySQL数据库Schema设计的性能优化 9.0 引言 9.1 高效的模型设计 9.2 合适的数据类型 9.3 规范的对象命名 9.4 小结 第10章 MySQL Server性能优化 10.0 引言 10.1 MySQL安装优化 10.2 MySQL日志设置...

    MySQLMTOP数据库监控系统-其他

    MySQL MTOP主要功能特性如下:1、实时MySQL可用性监视数据库可用性监视和衡量让开发者和DBA们了解它们是否符合所承诺的服务水平。2、实时MySQL状态监视和警报MySQL MTOP持续监视MySQL的基本状态和性能信息,包括...

    MySQL性能调优与架构设计(中文版)

     第9章 MySQL数据库Schema设计的性能优化  第10章 MySQL Server性能优化  第11章 常用存储引擎优化 第3篇 架构设计篇  第12章 MySQL可扩展设计的基本原则  第13章 可扩展性设计之MySQL Replication  第...

    MySQL性能调优与架构设计.mobi

    如 MySQL Schema 设计的技巧,Query 语句的性能优化方式方法及MySQL Server中SQL层和存储引擎层的优化思路。同时还分析了 MySQL 数据库中主要存储引擎的锁定机制。架构设计篇则主要以设计一个高可用可扩展的分布式...

    MySQL性能调优与架构设计

    包括Schema 设计,Query 语句的性能优化, MySQL Server 中SQL层和存储引擎层的优化思路,以及MySQL 数据库锁定机制的实现。, 架构篇则以设计一个高可用可扩展的企业级分布式数据库集群环境为目标,分析了多种通过 ...

    MySQL性能调优与架构设计(PDF)

    如 MySQL Schema 设计的技巧,Query 语句的性能优化方式方法及MySQL Server中SQL层和存储引擎层的优化思路。同时还分析了 MySQL 数据库中主要存储引擎的锁定机制。架构设计篇则主要以设计一个高可用可扩展的分布式...

    MySQL性能调优与架构设计.pdf

    如 MySQL Schema 设计的技巧,Query 语句的性能优化方式方法及MySQL Server中SQL层和存储引擎层的优化思路。同时还分析了 MySQL 数据库中主要存储引擎的锁定机制。架构设计篇则主要以设计一个高可用可扩展的分布式...

    Postgre数据库Insert 、Query性能优化详解

    主要介绍了Postgre数据库Insert和Query性能优化的步骤,大家可以参考使用

    MySQL性能优化

    1. 简介 在Web应用程序体系...2. 数据库设计和查询优化 在MySQL Server性能调优中,首先要考虑的就是Database Schema设计,这一点是非常重要的。一个糟糕的Schema设计即使在性能调优的MySQL Server上运行,也会表现出

    Oracle数据库管理员技术指南

    第1章 建立和配置数据库 1.1 数据库创建规划 1.1.1 规划以及提出正确的问题 1.1.2 怎样确定恰当的数据块尺寸 1.2 组织文件系统 1.2.1 怎样命名数据库文件 1.2.2 使用最佳灵活结构 1.2.3 怎样配置符合 OFA 的 ...

    详解MySQL性能优化(二)

    七、MySQL数据库Schema设计的性能优化 高效的模型设计 适度冗余-让Query尽两减少Join 大字段垂直分拆-summary表优化 大表水平分拆-基于类型的分拆优化 统计表-准实时优化 合适的数据类型 时间存储格式总类并不是太...

    高性能MySQL(第3版)中文版.pdf.zip

    高性能 Mysql免费下载,sql语句优化,索引建立,schema与数据库类型优化!

    Microsoft SQL Server 2005技术内幕: T-SQ程序设计.pdf

    除了帮助顾客处理紧迫的要求、修复问题、优化数据库、教学和担任顾问以外,他还帮助开发人员和数据库管理员转变关系/基于集合的理念,改善他们编写代码的性能和可维护性。Itzik擅长T-SQL查询、查询优化、编程和内部...

    MySQLMTOP数据库监控工具 2.2.zip

    MySQLMTOP是一个由Python PHP开发的开源MySQL企业数据库监控工具。...MySQL服务器无需安装任何Agent,只需在监控WEB界面配置相关数据库信息,启动监控进程...等信息,根据相关性能指标可以对服务器核心参数进行调整优化。

Global site tag (gtag.js) - Google Analytics