易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL性能优化

作者:andyao
原文link: http://andyao.javaeye.com/admin/show/144033
转载请留名
1. 简介
在Web应用程序体系架构中,数据持久层(通常是一个关系数据库)是关键的核心部分,它对系统的性能有非常重要的影响。MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,仅仅是一个玩具数据库。因此在产品中使用MySQL数据库必须进行必要的优化。
优化是一个复杂的任务,本文描述MySQL相关的数据库设计和查询优化,服务器端优化,存储引擎优化。
2. 数据库设计和查询优化
在MySQL Server性能调优中,首先要考虑的就是Database Schema设计,这一点是非常重要的。一个糟糕的Schema设计即使在性能调优的MySQL Server上运行,也会表现出很差的性能;和Schema相似,查询语句的设计也会影响MySQL的性能,应该避免写出低效的SQL查询。这一节将详细讨论这两方面的优化。
2.1 Schema Design
Schema的优化取决于将要运行什么样的query,不同的query会有不同的Schema优化方案。2.2节将介绍Query Design的优化。Schema设计同样受到预期数据集大小的影响。Schema设计时主要考虑:标准化,数据类型,索引。
2.1.1 标准化
标准化是在数据库中组织数据的过程。其中包括,根据设计规则创建表并在这些表间建立关系;通过取消冗余度与不一致相关性,该设计规则可以同时保护数据并提高数据的灵活性。通常数据库标准化是让数据库设计符合某一级别的范式,通常满足第三范式即可。也有第四范式(也称为 Boyce Codd范式,BCNF))与第五范式存在,但是在实际设计中很少考虑。忽视这些规则可能使得数据库的设计不太完美,但这不应影响功能。
标准化的特点:
1) 所有的“对象”都在它自己的table中,没有冗余。
2) 数据库通常由E-R图生成。
3) 简洁,更新属性通常只需要更新很少的记录。
4) Join操作比较耗时。
5) Select,sort优化措施比较少。
6) 适用于OLTP应用。
非标准化的特点:
1) 在一张表中存储很多数据,数据冗余。
2) 更新数据开销很大,更新一个属性可能会更新很多表,很多记录。
3) 在删除数据是有可能丢失数据。
4) Select,order有很多优化的选择。
5) 适用于DSS应用。
标准化和非标准化都有各自的优缺点,通常在一个数据库设计中可以混合使用,一部分表格标准化,一部分表格保留一些冗余数据:
1) 对OLTP使用标准化,对DSS使用非标准化
2) 使用物化视图。MySQL不直接支持该数据库特性,但是可以用MyISAM


相关文档:

MySQL 5.1完全卸载

1、控制面板里的增加删除程序内进行删除
2、删除MySQL文件夹下的my.ini文件,如果备份好,可以直接将文件夹全部删除
3、开始->运行-> regedit 看看注册表里这几个地方删除没有
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\S ......

mysql 创建用户方法

命令方式的.注意每行后边都跟个 ; 表示一个命令语句结束.
格式:grant select on 数据库.* to
用户名@登录主机 identified by "密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以
root用户连入MYSQL

然后键入以下命令:
gr ......

Mysql忘记root密码的解决办法

在windows下:
打开命令行窗口,停止mysql服务(或者在任务管理器里结束掉mysqld-nt.exe进程):        Net stop mysql
启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe
执行:mysqld-nt --skip-grant-tables
另外打开一个命令行窗口,执行mysql
use mysql
update us ......

mysql text 长度


mysql text 长度
文章分类:数据库
今天在做DB设计的时候在想用TEXT 是否能够满足将来的数据,能够出现装不下的情况。
后来查询了一下官方手册得到了一个答案。
一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。
MEDIUMBLOB 
MEDIUMTEXT 
一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。
LONG ......

Mysql data to long错误的处理方法

今天在写实习生的培训PPT时,用mysql的command line client插入一条带中文的记录时,报data to long的错误,
在网上查看了相关资料,说的是因为这个console使用了一种编码方式,把命令编码后再发送到数据库,具体请参看http://www.cnblogs.com/ovliverlin/archive/2007/11/26/972549.html,说的比较详细,本人看完后,直接 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号