-
mysql双机热备以及amoeba读写分离实验 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-24 热度:143
Mysql读写分离是为了提高网站的访问速度,提高数据库的并发负载能力。 但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在[详细]
-
mysql 执行计划优化 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-24 热度:96
一条简单的SQL 语句竟花了15.87 sec, 写道 mysql SELECT x.loc AS loc, x.lastmod AS lastmod, x.changefreq AS changefreq, x.changecount AS changecount, x[详细]
-
高性能的MySQL(1)锁和MVCC - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-24 热度:162
一、MySQL逻辑架构 二、锁 1、读写锁 读锁是共享的,是互相不阻塞的,多个客户在同一时间读取同一资源,互补干扰。写锁是排他的,会阻塞其他的写锁和读锁。 2、[详细]
-
高性能的MySQL(2)慢查询 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-24 热度:60
一、剖析MySQL查询 1、首先从慢查询开始,慢查询是开销最低,精度最高的测量查询时间的工具。 a、开始mysql的慢查询,修改my.conf [mysqld]#开启慢查询log_slow[详细]
-
高性能的MySQL(2)单条SQL性能 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-24 热度:133
实际应用中,分析单条查询SQL性能,有3种方法:show status、show profile和慢查询日志。 一、使用SHOW PROFILE 1、默认是禁用的,在会话中开启 #开启profile s[详细]
-
高性能的MySQL(3)单条查询问题还是服务器问题 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-24 热度:65
发现问题的时候,要确定是单条查询的问题还是服务器的问题,如果服务器上的所有程序都变慢了,又突然都变好了,每一条查询都变慢了,那么慢查询就不一定是原因[详细]
-
高性能的MySQL(4)数据类型的优化 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-24 热度:168
一、基本原则 1、更小的通常更好 更小的数据类型通常更快,因为占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。 但是要确保没有低估需要存储[详细]
-
高性能的MySQL(4)Schema设计 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:166
一、设计中的陷阱 1、太多的列 MySQL的存储引擎API工作时需要在服务器层和存储引擎层之间通过行缓冲格式拷贝数据,然后在服务器层将缓冲内容解码为各个列。这是[详细]
-
高性能的MySQL(5)创建高性能的索引一B-Tree索引 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:168
一、索引的类型 MySQL中,索引是在存储引擎层实现的,而不是服务器层,所以没有统一的标准。 MySQL支持的索引类型如下: 1、B-Tree索引(也包括B+Tree索引,统[详细]
-
高性能的MySQL(5)创建高性能的索引一哈希索引 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:67
哈希索引(hash index)基于哈希表实现,只有精确匹配索引的所有列的查询才有效,对于每一行数据,存储引擎都会对所有索引列计算一个哈希码,不同键值的行计算[详细]
-
高性能的MySQL(5)索引策略 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:188
一、索引的优点 1、索引可以大大减少服务器需要扫描的数据量 2、索引可以帮助服务器避免排序和临时表。 3、索引可以将随即I/O变为顺序I/O 二、索引策略 1、独立[详细]
-
高性能的MySQL(5)索引策略一聚簇索引 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:57
聚簇索引,并不是一种单独的索引类型,而是一种数据存储方式。InnoDB的聚簇索引实际上在同一个结构中保存了B-Tree索引和数据行信息。 因为无法把数据行存放在两[详细]
-
高性能的MySQL(5)索引策略-覆盖索引与索引排序 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:111
一、覆盖索引 索引是一种查找数据的高效方式,但是MySQL也可以使用索引来直接获取列的数据,这样就不再需要读取数据行。如果索引的叶子节点中已经包含要查询的[详细]
-
高性能的MySQL(5)索引策略一压缩,冗余,重复,索引和锁 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:144
一、压缩索引 MyISAM使用前缀压缩来减少索引的大小,默认只压缩字符串,但是通过设置也可以对整数做压缩。 压缩可以使用更少的空间,代价是某些操作可能更慢。[详细]
-
高性能的MySQL(5)索引策略-索引案例分析 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:177
理解索引最好的办法是结合实例,接下来分析一个例子。 假设要设计一个在线约会网站,用户信息表有很多列,包括国家,地区,城市,性别,眼睛颜色等等。网站必须[详细]
-
高性能的MySQL(5)索引策略-索引和表的维护 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:179
维护表有三个主要的目的: 1、找到并修复损坏的表。 对于MyISAM存储引擎来说,表损坏通常是系统崩溃导致的。其他的引擎也会由于硬件的问题,MySQL本身的缺陷或[详细]
-
Mysql分区技术的理论 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:179
一、基本理论 在mysql大数据处理上,水平分表技术是很常用的,但是分表技术带来了PHP处理的很大开销,为了解决这个弊端Mysql5.1以后以插件的方式增加了一个新的[详细]
-
Mysql分区技术的实例 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:127
一、查看当前MySQL是否支持分区技术 二、使用HASH实现一个简单测试案例 1、建立一个分区表 2、查看数据库文件初始状态 3、写一个存储过程生成100万条记录 4、查[详细]
-
mysql主从+keepalived线上恢复解决方案 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:153
最近一个项目需要做一个mysql+keepalived高可用主从同步,配起来当然轻车熟路,但想到如何在主库挂掉,从库接管后,以最快的速度恢复数据,并让主库重新接管,[详细]
-
高性能的MySQL(6)查询慢与重构查询 - MySQL教程
所属栏目:[MySql教程] 日期:2014-06-23 热度:150
只有好的库表结构、合理的索引还不够,我们还需要合理的设计查询,齐头并进,一个不少才能充分发挥MySQL的优势。 一、查询为什么会慢? 每一个查询由一系列的子[详细]
-
MySQL索引与性能(1) 索引类型 - MySQL教程
所属栏目:[MySql教程] 日期:2014-05-15 热度:153
本文讨论MySQL支持的索引类型及其优缺点。要注意的是:在MySQL中,索引是在存储引擎层而不是服务器层实现,所 以不同存储引擎的索引的工作方式并不一样,也不是[详细]
-
MySQL索引与性能(2) 聚簇索引 - MySQL教程
所属栏目:[MySql教程] 日期:2014-05-15 热度:67
聚簇索引是一种数据存储方式,它实际上是在同一个结构中保存了B+树索引和数据行,InnoDB表是按照聚簇索引组织 的(类似于Oracle的索引组织表)。 InnoDB通过主[详细]
-
MySQL索引与性能(3) 覆盖索引 - MySQL教程
所属栏目:[MySql教程] 日期:2014-05-15 热度:194
覆盖索引是指索引的叶子节点已包含所有要查询的列,因此不需要访问表数据,能极大地提高性能。覆盖索引对 InnoDB的聚簇索引表特别有用,因为可以避免InnoDB二级[详细]
-
MySQL索引与性能(4) 排序 - MySQL教程
所属栏目:[MySql教程] 日期:2014-05-15 热度:194
我们知道B树索引是有序的,那么可不可以通过只扫描索引就能完成order by操作呢?答案是肯定的,但条件也比较 苛刻:只有当索引的列顺序和order by字句的列顺序[详细]
-
编译和安装Mysql数据库的过程 - MySQL教程
所属栏目:[MySql教程] 日期:2014-05-15 热度:50
Mysql是一款开源的关系型数据库软件,它凭借其高性能、高可靠性和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。目前互联中使用Mysql数据的大多[详细]