
高性能MySQL
HopingWhite
这个作者很懒,什么都没留下…
展开
-
一个编译debug版本的mysql的脚本
#!/bin/sh#设置安装目录MYSQL_HOME=/home/mysql/install/ddbif [ -z $MYSQL_HOME ]; then echo "mysql_home should be set" exit -1fi#任何一步执行错误则退出set -e#配置./configure /--prefix=$MYSQL_HOME /--with-charset=utf8 /--with-extra-charsets=gbk,原创 2010-08-12 22:20:00 · 2216 阅读 · 1 评论 -
1.1.1. 字符串类型
1.1.1. 字符串类型MySQL支持好几种字符串数据类型,每一种又有好些变种。这些数据类型从4.1到5.0版本变化很大,这使得使用它们变得更为复杂。从MySQL4.1开始,每种字符串列可以设置独立的字符集以及排序规则。这可以在极大程度上影响 性能。 1.1.1.1. VARCHAR和CHAR最主流的两大字符中类型是VARCHAR和CHAR,它们都用于存储字符型的值。不幸的是,很难解释翻译 2010-01-05 23:49:00 · 1449 阅读 · 0 评论 -
3.1.1. 整数
3.1.1. 整数数字可以分为两种,整数和非整数(即带有小数部分的数)。如果你需要存储一个整数,那么可以使用如下几种数字类型:TINYINT,SMALLINT,MEDIUMINT,INT,以及BIGINT。这些分别代表8,16,24,32以及64位的存储空间。他们可以存储-2(N-1)到2(N-1)-1的数字,其中N是类型所需要的存储空间位。整数类型还可以选用UNSIG翻译 2009-11-10 22:48:00 · 1448 阅读 · 0 评论 -
3. 数据库结构优化和建索引
3. 数据库结构优化和建索引优化一个设计得很糟糕或者索引建得很差的数据库可以成数量级的提高性能。如果你想得到高性能的话,你就必须根据你即将运行的SQL来设计数据库表结构和索引。同时你应该对于不同类型的查询性能的需求有一个预估,因为对于一类查询的修改或者表结构的改变可能会影响其他的行为。比如说,为了提高查询效率而增加的索引会降低更新的速度。同样的,一个非归一化的表结构可能在提高一些类翻译 2009-11-04 22:40:00 · 1305 阅读 · 1 评论 -
2.1. 为什么要水平测试
2.1. 为什么要水平测试 许多中型到大型的MySQL部署会有专门的部门来进行水平测试。但是,每一个开发者和DBA都应该了解基本的水平测试准则和实践方法,因此这些方法是一些比较全面而有用的方法。下面是一些水平测试可以帮你做到的事情: 测量你的系统当前的性能如何。如果你不知道系统当前运行地有多快,你就不可能确定你所做的修改是否有用。同时你也可以利用水平测试的历史结果来诊断一些你没有预翻译 2009-05-04 13:52:00 · 1020 阅读 · 0 评论 -
2. 找到瓶颈:水平测试和垂直测试
在某些时候,你可能注定需要从MySQL获得更高的性能。但是你应该通过改善什么来提高性能呢?改进一个特定的查询,改进你的数据库表结构,还是改进你的硬件?知道这些的唯一方法是测量你的系统正在做什么,并且得到它在各种情况下的性能。这也是为什么我们把这章放在本书开始的原因。最好的策略是找到并加强你的应用中组件链里最脆弱的一环。这在你不知道目前或者未来是什么在影响性能的情况下尤其有效。水平测试(Be翻译 2009-05-04 13:12:00 · 1603 阅读 · 3 评论 -
1.5. MySQL存储引擎
1.5. MySQL存储引擎本节主要针对MySQL的存储引擎做一个大致的介绍。在这一节,我们不会太深入细节,因为我们将在整本书中来讨论存储引擎和它们各自的一些行为。但是本书不会是一个完整的源代码文档,如果你一旦决定使用某种存储引擎的话,你应该去看这个存储引擎对应的MySQL官方文档。MySQL针对每个存储引擎也有各自的论坛,论坛上通常会有一些有趣和有用的链接。 如果你只是想要在一个比较高的翻译 2009-04-30 13:33:00 · 3110 阅读 · 2 评论