表示 进入内容 115111601215
« 先前的 10 新的记录 | 下一步 10 较早的记录 »
Displaying posts with tag: innodb (reset)
MySQL优化 之 Discuz论坛MySQL通用优化

之前分别在2006和2009年写过两篇关于discuz优化的文章:MySQL优化 之 Discuz论坛优化MySQL优化 之 Discuz论坛优化 -- 续,没想到都6年过去了,discuz还在坚挺的使用MyISAM引擎,堪比罚改委...
今日帮朋友优化号称日均数百万PV,数百万UV的论坛,后台DB采用R710(16G Ram,PERC 6/i 256MB BBU,4块 15K RPM SAS盘做raid 1+0,ext3文件系统,E5620 * 2),这个配置看似也不错了,不过压力仍然较大,大量的请求处于:sending data和statistics状态。
经过分析,确认瓶颈主要在:

1. IO读,IO写倒还好,不算高;因为数据表都是MyISAM,需要产生较高的物理读,不能通过内存有效缓冲;
2. …
[获取更多]
[MySQL FAQ]系列 -- 新手必看:一步到位之InnoDB

前言:MySQL发展到今天,InnoDB引擎已经作为绝对的主力,除了像大数据量分析等比较特殊领域需求外,它适用于众多场景。然而,仍有不少开发者还在“执迷不悟”的使用MyISAM引擎,觉得对InnoDB无法把握好,还是MyISAM简单省事,还能支持快速COUNT(*)。本文是由于最近几天帮忙处理discuz论坛有感而发,希望能对广大开发者有帮助。

1. 快速认识InnoDB
InnoDB是MySQL下使用最广泛的引擎,它是基于MySQL的高可扩展性和高性能存储引擎,从5.5版本开始,它已经成为了默认引擎。
InnODB引擎支持众多特性:

a) 支持ACID,简单地说就是支持事务完整性、一致性; 
b) 支持行锁,以及类似ORACLE的一致性读,多用户并发;
c) 独有的聚集索引主键设计方式,可大幅提升并发读写性能;
d) 支持外键;
e) 支持崩溃数据自修复;

[获取更多]
InnoDB一定会在索引中加上主键吗

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/will_innodb_store_pk_in_index.html

DBA群里在讨论一个问题,到底InnoDB会不会在索引末尾加上主键,什么时候会加?

我之前看代码记得是如果索引末尾就是主键,那么InnoDB就不再添加主键了,如果索引末尾不是主键,那么会添加主键,但是这跟测试结果不符:

CREATE TABLE t (
  a char(32) not null primary key,
  b char(32) not null,
  KEY idx1 (a,b),
  KEY idx2 (b,a)
) Engine=InnoDB;

插入部分数据后可以看到idx1和idx2两个索引的大小相同。这说明idx1和idx2的内部结构是一样的,因此 不可能 是idx1在内部存为(a,b,a)。

[获取更多]
数据库内核分享——第一期PPT

  数据库内核分享,第一期,“Buffer Pool Implementation InnoDB vs Oracle”的完整PPT,详细介绍了Buffer Pool在InnoDB与Oracle的实现,以及二者实现的不同之处。对朋友们理解两个数据库如何管理内存,有较大的帮助!   注1:此版本,彭立勋 同学做了部分注释,相对更易理解,谢谢立勋!   注2:由于Slideshare长期被墙,墙内的朋友,可以通过微盘地址下载此PPT:微盘下载   注3:此分享的视频,已上传优酷网站,想观看视频的朋友,可点击以下地址:优酷视频  

Innodb和MyISAM引擎分析

mysql目前支持的引擎种类以及比较:

 【分析待续】  

【mysql】  【innodb】  【myisam】   点击查看原文>

mysql体系结构

  *************************************************************************************************************************** mysql体系结构:

    由:连接池组件、管理服务和工具组件、sql接口组件、查询分析器组件、优化器组件、缓冲组件、插件式存储

【算法】  【mysql】  【innodb】  【日志】  【数据库】  【索引】   …

[获取更多]
InnoDB实现独立表空间多数据文件 (InnoDB multiple datafiles per single-tablespace)

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/innodb_multiple_datafiles_per_single_tablespace.html

我们知道,在Oracle中,每个表空间都可以由很多文件组成,这样文件的IO就可以分散在很多存储路径上。虽然MySQL的服务器一般来说不会配置多路径存储,但是,很多老式文件系统(例如EXT3)对大文件的IO操作支持不好,性能很差,所以对MySQL/InnoDB来说,把数据文件大小控制在比较小的范围,也是有好处的。

As we know that Oracle can let one tablespace contains many datafiles, so file IO can distribute to multiple storage paths. Most of MySQL servers will not use multiple storage paths, but many old filesystems can’t support …

[获取更多]
mysql Innodb auto_increment 字段并非完全按顺序增长

mysql Innodb auto_increment 字段并非完全按顺序增长

mysql> SHOW CREATE TABLE t;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| TABLE | CREATE TABLE                                                                                                                                           |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| t     | CREATE TABLE `t` (
  `a` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`a`)
) ENGINE=InnoDB AUTO_INCREMENT=458731 DEFAULT CHARSET=latin1 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
1 ROW IN SET (0.00 sec)
 
mysql> SELECT …
[获取更多]
MySQL下实现闪回的设计思路 (MySQL Flashback Feature)

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/mysql_flashback_feature.html

用过Oracle数据库的同学都知道,Oracle有一个Flash Recovery Area,可以把变更的块写入这块区域,当数据操作错误,需要恢复的时候,可以利用闪回空间中存储的数据块覆盖回去,也可以重构回滚段,恢复到需要的一致点。
As we know, There has a Flash Recovery Area in Oracle DB, Which allows the modified blocks been written into. So that, if there’s any incorrect deletion of data, and need to recover, DBA can use the data blocks which were stored in the Flash Recovery Area ,or reconstructed rollback segments, to restore the data to the consistent point.

[获取更多]
数据库内核分享——第一期

在福云咖啡的大力支持下,第一期数据库内核分享的时间地点已经确认,如下:   时间:9.16日下午2:00至6:00   地点:杭州福云咖啡(西湖区西溪路628号福地创业园5楼(紫荆花路紫荆港路间))   形式:免费(福云咖啡提供免费的柠檬水,当然,如果想喝咖啡的话,还是要自己买单的:))   内容:InnoDB Buffer Pool与Oracle Data Cache的实现对比。介绍完整的InnoDB Buffer Pool的实现流程,以及对应的Oracle的Data Cache的相应实现,对大家更好的理解InnoDB Buffer Pool,以及优化Buffer Pool,有较好的帮助。   报名方式:目前,福云咖啡免费提供了一个50左右的会议室,我希望能够统计下最终参与的人数。准备参加的朋友,可以通过微博留言、私信、发送邮件(he.dengcheng@gmail.com),以及在本博客下发表评论的方式报名(最好不要多次报名,一种形式即可) …

[获取更多]
表示 进入内容 115111601215
« 先前的 10 新的记录 | 下一步 10 较早的记录 »