Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96417
  • 博文数量: 62
  • 博客积分: 125
  • 博客等级: 入伍新兵
  • 技术积分: 350
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-18 15:16
文章分类

全部博文(62)

文章存档

2012年(62)

我的朋友

分类:

2012-04-05 14:01:37

原文地址:google开发的Mysql5Patches 作者:zzjlzx

Mysql5Patches  
Patches for MySQL 5
Updated Jun 24, 2011 by
Introduction

The code has been changed to make MySQL more manageable, available and scalable. Many problems remain to be solved to improve SMP performance. This is a good start. The v3 patch and all future patches will be published with a BSD license which applies to code we have added and changed. Original MySQL sources has a GPL license.

These have the same functionality as the MySQL 4 patches. There are several patch sets:

  • the published in 2007
  • the with all of our changes for MySQL 5.0.37
  • the with all of our changes for MySQL 5.0.37 as of May 6, 2009. This adds global transaction IDs, row-change logging and more InnoDB SMP performance fixes.
  • the as of June 1, 2009. on IO bound loads.
  • the patch published in 2007.
  • the for MySQL 5.1.26
  • the for MySQL 5.0.67. This has two changes:
    • use atomic memory instructions for the InnoDB mutex and rw-mutex. This is only done for x86 platforms that use a recent (>= 4.1) version of GCC.
    • disable the InnoDB memory heap. Thisi s done for all platforms.
  • the for the InnoDB 1.0.1 plugin in MySQL 5.1
  • via set global innodb_disallow_writes=(0|1)
  • to use pthread_mutex_t instead of mutex_t for rw_lock_struct::mutex in InnoDB.
  • the extracted out of the big V3 patch and ported to mysql-5.0.68 as of May 12, 2009.
  • Notes on implementing synchronous replication --

has results for a variety of MySQL versions on 4, 8 and 16 core servers.

Feedback, Problems and Comments

Use the

Disclaimer

We have changed a lot of code. Not all of the changes are described here and some of the changes to default behavior from new my.cnf variables can break your applications. Unless your name rhymes with Domas, it might be better to take pieces of the patch rather than try to use all of it.

The code has been tested on 32-bit and 64-bit Linux x86. We may have broken the build for other platforms.

The embedded server, --with-embedded-server, cannot be built with these changes. We have broken the build for it.

Many of the Makefile.in and Makefile.am files have been changed in the big patch because we changed InnoDB to use the top-level configure.

If you try to install the big patch, treat it like installing from a source tree.

Authors

A lot of people have contributed to this:

  • Wei Li
  • Gene Pang
  • Eric Rollins
  • Ben Handy
  • Justin Tolmer
  • Larry Zhou
  • Yuan Wei
  • Robert Banz
  • Chip Turner
  • Steve Gunn
  • Mark Callaghan

The v2 patch

This has many new features and a few non-features. Embedded MySQL will not work with this patch.

The v3 patch

This has many new features and a few non-features. Embedded MySQL will not work with this patch. Also, I generated the patch after running 'make distclean' so there are some files that must be regenerated after this patch is applied, including sql_yacc.cc and sql_yacc.h. By doing this, the patch diff is smaller but maybe a bit confusing. Also, I did not update any of the files in libmysqld/ that are copied from sql/.

The v4 patch

This makes InnoDB much faster on IO bound workloads and fixes bugs in new features.

Not yet released
  • MysqlThreadPool

 

阅读(251) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~