在MySQL 5.5中有什么新功能
为MySQL,这是一个忙碌的一年。也许你已听说过。以下是一些最近有所改善的速度,可扩展性和用户友好的MySQL数据库和InnoDB存储引擎,我们认为应该拥有自己的头条新闻。现在是一个伟大的时间beta测试的5.5版本,并反馈给MySQL的工程团队。
改进的性能和可扩展性
MySQL有时会被撞倒的功能,如ACID兼容的事务,外键的支持和崩溃恢复。这些功能最强的InnoDB存储引擎,但MyISAM表一直是默认的,因此新用户可能会得到错误的印象。在MySQL 5.5中,InnoDB是默认的存储引擎,使每个人都可以看到这一点的可靠性和稳定性的开箱即用。作为奖励,在MySQL 5.5 InnoDB的是InnoDB 1.1及以上内置的InnoDB在5.1和以前的许多性能和可扩展性功能,是经过重新设计的InnoDB。(因为我们是统一在MySQL的InnoDB使用的最佳和最快的技术,我们正在逐步的插件与内置的区别MySQL 5.5中的最新和最伟大的InnoDB的1.1。)了解更多有关最新的InnoDB的增强功能如下。
如果一个表在一个事务中被引用,任何其它事务可以执行DDL,如DROP TABLE或ALTER TABLE直到第一个事务提交。在此之前,锁定的语句,而不是整个交易结束时被释放。阅读更多元数据锁内交易。
如果您的公司使用的是Windows本身或在混合环境中,你可能想在Windows上部署MySQL数据库。为了使之成为现实,MySQL团队已经纳入了一些特定于Windows的功能,加快和扩大。
- Windows API调用大部分的I / O完成在MySQL(社区贡献,帽尖耶利米的Gowdy)。
- 能力建立在Windows的DLL引擎和其他插件。
- 网络方面支持自动检测的MAC地址(一个社区的贡献,帽尖克里斯·鲁尼恩)。
- 大量的清理和简化线程代码。
提高可用性
此功能提高了可靠性,故障转移,以避免将故障转移到缺少一些已提交的更改从主的奴隶。您可以选择已承诺在主节点上等待,直到至少有一个从相关事件的交易记录。半同步方面是因为主不会等待所有的奴隶承认,有一个协议,以避免等待时间过长,主的奴隶落后。半同步复制。
在复制过程中,心跳是定期从主节点的从节点发送的消息。您可以配置心跳周期。如果还没有接收到该消息,从站知道主节点已失败。现在,您可以避免了虚假的中继日志旋转,当主机处于闲置状态,依赖于一个更精确的故障检测机制,并有一个准确的估计秒在主。(这是一个不同的功能,这是一个类似的健康检查集群节点的系统比Linux的心跳。)要使用此功能,你发出的命令,如:
STOP SLAVE; CHANGE MASTER TO master_heartbeat_period = 毫秒为单位 ; START SLAVE; SHOW STATUS像“slave_heartbeat期” 显示状态像“slave_received_heartbeats”,
改进的可用性
的SIGNAL和RESIGNAL报表的让你实现熟悉的异常处理逻辑在存储过程,存储函数,触发器,事件,和数据库应用程序调用这些事情。信号传递执行到错误处理程序,抛掷或提出其他的报表语言。您可以以一致的方式,可以解释的错误处理程序在调用程序中的错误,SQLSTATE值和消息编码。RESIGNAL让你自己的错误处理和清理后,做一定量的异常传播。使用RESIGNAL,您可以通过沿着原来的错误信息或修改。了解更多关于信号/ RESIGNAL。
RANGE COLUMNS有了新的列表列的CREATE TABLE语句中的条款,分区是现在更加灵活,也可以更好地优化查询。相反的表达,可以指定一个或多个列的名称。这些条款都让你在分区的基础上DATE,DATETIME或字符串值(如CHAR或VARCHAR)。分区修剪可以使用RANGE COLUMNS或LIST COLUMMS的分区表上的查询优化,WHERE条件,比较不同的列和常量,如
为a = 10,b>的5
或
<“2005-11-25”和B = 10,C = 50
性能架构特性包括可选的的模式,名为performance_schema,与表,可以查询到看到贴心的细节低级别的MySQL性能。在那一刻,你可以得到有关表演权,或不同数量的历史性能数据。您可以清除数据重置的数字,过滤器和格式的数据使用WHERE子句,和一般与它使用各种SQL善良的互动。性能架构数据现在还包括InnoDB存储引擎的详细信息。了解更多关于性能模式。
在InnoDB中有什么新功能
为了使长话短说:它是所有关于性能和可扩展性!对于那些喜欢尝试所有的排列组合的配置设置,这些改进使我们提前道歉,没有思想或努力。
性能改进
在今年的MySQL大会暨展览会,你会听到有关的InnoDB插件1.0.7,第一个生产就绪(GA)版本的InnoDB插件。在这里列出的增强,大多是1.1,这是InnoDB的MySQL 5.5中的一部分,因此仍处于测试阶段。下载MySQL 5.5,并尝试出来。
InnoDB的巨大优势之一是它能够可靠地影响数据库的任何类型的系统崩溃后恢复数据。但这种清理和检查,在下次重新启动需要更长的时间。好了,掩盖你的日晷。收起你的沙漏。进取的InnoDB的团队已经改进了算法在恢复数额巨大-在计算机科学方面,这是一个更好的大O数量。现在,你需要保持你的手指准备秒表的恢复需要多久。此功能可在InnoDB 1.1的InnoDB插件1.0.7。阅读更多更快的恢复。
经常在多千兆字节的范围与今天的缓冲池,页是不断地被读取和更新由不同的数据库中的线程。此增强功能消除了瓶颈,使所有其他线程等待,当一个线程正在更新的缓冲池。通常与缓冲池的所有的结构现在可以被相乘,如的互斥锁保护它,LRU信息,和冲水列表。您可以控制多少缓冲池实例使用缺省值仍然是1。此功能效果最佳结合 几千兆字节的缓冲池大小,每个缓冲池的实例可以是千兆字节或更多。了解更多关于多个缓冲池实例。
此功能的性能和可扩展性的改进。通过将单回退段成多个部分,,InnoDB允许并发事务创建undo数据(插入,更新和删除操作)而无需相互等待。一个快乐的后果是,老1023同时插入/更新/删除交易限额是现在高得多,共约128K并发作家交易。此功能不介绍任何在InnoDB文件格式不兼容,不需要使用新的Barracuda文件格式。但是,安装在系统表空间只发生时,系统创建表空间,所以利用此功能,你必须创建一个新的实例(不只是一个新的表或一个新的数据库),将数据导入到它。了解更多关于多个回滚段。
此功能可以在Linux系统上更好的并发I / O请求。使用异步I / O,I / O请求可以发送和查询服务的线程不需要等待I / O完成这方面委派的I / O辅助线程。InnoDB中已经支持异步I / O在Windows系统上。在Windows以外的平台上,InnoDB内部安排其I / O调用,好像他们是异步的(导致的长期模拟异步I / O),但幕后真正的查询线程将阻塞,直到请求完成。现在,真正的异步I / O支持(称为本机异步I / O,因此不会混淆与异步已经在源)可以在Linux和Windows。此功能需要在Linux上安装libaio的用户空间库。它配备了一个的配置选项innodb_use_native_aio,你可以关闭的情况下,任何相关的I / O子系统的启动问题。了解更多关于异步I / O用于Linux。
InnoDB使用索引来更快地进行查询。二级指标,那些不是主键的列上,要求工作意义的磁盘写入使他们能跟上最新的当那些那些列插入,删除,或更新。例如,如果您运行该命令DELETE FROM T WHERE C1 ='东西',你有一个辅助索引列C2,急于更新,二级指标是什么?其内容可能不是在缓冲池中,也许该索引将不会被读取很长一段时间。
InnoDB有一段时间,现在有一个优化延迟的变化是由于插入时,磁盘写入二级索引维护。此延迟等待索引内容被读入缓冲池的某些其他原因,例如为一个查询,其中的变化可以迅速作出在存储器中,然后刷新回磁盘使用写脏数据块的正常时间表。当在缓冲池中的变化会影响一组连续的磁盘块,他们可以更有效地被刷新,如果数据被写入一块一块的。很聪明!
在InnoDB 1.1,这一技术被扩展到包括不同类型的写所造成的删除(操作的初始删除标记,随后又通过清除操作,垃圾收集所有已删除的记录)。这种优化是在你的操控下通过的innodb_change_buffering的配置选项,其中有一个新的默认。(我们称之为优化的变化,而 不是旧的名称插入缓冲缓冲的实际内存结构仍然是所谓的插入缓冲区。)了解更多有关增强的变化缓冲。
可扩展性的改进
在InnoDB 1.1的可扩展性的改进线程和互斥争围绕着更好的隔离。这些性能改进,真正踢时,数据库服务器负载过重。(对于那些你们谁是尚未专家对InnoDB性能,互斥体是在不同的线程的内存结构,防止干扰彼此的更改重要的内存区域,如缓冲池)。
在此之前,单个互斥锁保护相关的撤消和日志信息的不同的存储区域。特别是,这个互斥量阻止访问的缓冲池,同时改变被写入DDL操作进行更改的数据字典。分裂老log_sys互斥创建一个单独的log_flush_order互斥的内部处理所有可能发生较少等待和阻塞的缓冲池的其他业务,无需任何配置上的需要。了解更多有关提高了日志系统互斥。
按照同样的思路,业务涉及缓冲池和冲洗列表以前的单个互斥锁保护的,这可能会导致不必要的延误。(缓冲池的互斥体在历史上是非常热的,所以任何其他操作,捆绑缓冲池火添加燃料)。现在刷新列表中有自己的互斥量,减少争用和InnoDB的更快而不出任何缓冲池操作配置需要的一部分。更多关于单独冲洗列表互斥。
InnoDB的清除操作是一种类型的垃圾收集,定期运行。在此之前,清除的主线程的一部分,这意味着它可能会阻止一些其他的数据库操作。现在,此操作可以在其自己的线程中运行,允许更多的并发性。您可以控制是否被分裂成它自己的线程与的innodb_purge_threads配置选项,可以设置为0(默认值)或1(一个单独的净化线程)清除操作。这种架构的变化可能不会导致大的提速这个单一的净化线程,但它奠定了基础,以调整其他相关的清除操作的瓶颈,因此,在未来的多清除线程可以提供更大的性能增益。被的配置选项innodb_purge_batch_size可以设置从1到5000,默认的20,但典型的使用者应该不需要更改该设置。了解更多关于提高清洗调度。
更好的仪器仪表/诊断
性能模式已经到了MySQL 5.5的一部分有一段时间了。InnoDB的1.1仪表的性能架构监测的第一次,可用于InnoDB的特定互斥体,RW-锁,线程和I / O操作的统计数据。数据的结构,让您可以看到的一切,或过滤器看到的只是InnoDB的项目。在performance_schema表中的信息可以让你看到如何这些项目的因素到数据库的整体性能,它的是最热根据不同的工作负载和系统配置,并跟踪问题的有关文件和行的源代码中,因此你可以真正看到什么幕后发生的事情。了解更多关于InnoDB与性能架构的集成。
接下来的步骤:
现在,您已经了解所有令人兴奋的新的性能和可扩展性的改进,轮到你了MySQL 5.5中的旋转:
- 下载MySQL 5.5:http://dev.mysql.com/downloads/
- 阅读MySQL 5.5的文档:http://dev.mysql.com/doc/
- 博客分享您的经历:http://planet.mysql.com/
- 加入的讨论:http://forums.mysql.com/的
相关推荐
1. **InnoDB存储引擎增强**:在MySQL5.5中,InnoDB成为了默认的存储引擎,提供了事务处理、行级锁定以及外键支持,适合大型并发应用程序。此版本对InnoDB进行了优化,提高了性能和并发能力。 2. **性能提升**:MySQL...
标题中的"MySQL安装文件MySQL5.5.zip"指的是包含MySQL 5.5版本安装程序的压缩包。这个压缩文件通常包含了安装MySQL所需的所有组件,包括服务器、客户端工具、连接器以及相关的文档。"mysql-5.5.21.msi"是MySQL ...
在这个压缩包中,包含的是MySQL 5.5的Windows 32位安装程序以及一个图形化界面工具。 首先,`mysql-5.5.22-win32.msi` 文件是MySQL 5.5.22的安装程序,适用于Windows操作系统。在安装过程中,用户可以选择安装类型...
这份"MySQL5.5.zip"压缩包包含了一个名为"mysql 5.5 chm 中文手册"的文件,这是一个CHM(Compiled HTML Help)格式的文档,专门针对MySQL 5.5版本,对于学习和理解MySQL 5.5的各种特性和操作非常有帮助。 MySQL 5.5...
这个“mysql5.5免安装.rar”文件是一个绿色免安装版的MySQL 5.5.22,适用于那些希望快速部署数据库而不想经历传统安装过程的用户。下面我们将详细探讨MySQL 5.5的一些关键知识点。 首先,MySQL 5.5在性能上的提升...
MySQL 5.5是MySQL数据库管理系统的一个重要版本,它在2010年发布,带来了许多性能提升和功能增强。这个一键安装包旨在简化安装过程,让用户能够快速、简便地在计算机上设置MySQL服务器。 首先,MySQL 5.5引入了...
3. **分区表**:在MySQL 5.5中,分区表功能得到了增强,支持更多类型的分区策略,如线性哈希分区和范围分区,这有助于大数据量的管理和查询性能提升。 4. **并发性能提升**:通过改进线程池和多线程调度,MySQL 5.5...
- **特性描述**:手册中详细介绍了MySQL 5.5中的新功能和改进之处,同时也指出了某些特性可能不在所有版本的MySQL 5.5中出现。用户应参考其许可证协议或联系Oracle销售代表了解具体的版本特性。 ### MySQL 5.5 主要...
手册中提到的MySQL 5.5的新特性主要包括以下几点: - InnoDB作为默认存储引擎:MySQL 5.5将InnoDB作为默认的存储引擎,提供了更好的数据完整性、并发控制和事务处理能力。 - 性能和可扩展性的改进:包括增强了复制...
MySQL5.5是MySQL数据库系统...总的来说,MySQL5.5在稳定性、性能和功能方面都有显著提升,使其成为当时企业级应用的首选数据库系统。通过深入了解这些知识点,用户可以更好地管理和利用MySQL5.5来满足他们的业务需求。
在MySQL5.5版本中,有一些关键的更新和改进: 1. **InnoDB存储引擎增强**:MySQL5.5默认的事务处理引擎是InnoDB,这个版本显著提高了InnoDB的性能。引入了InnoDB并行插入(Parallel InnoDB Insert Buffer Merge)和...
MySQL 5.5是MySQL数据库管理系统的一个重要版本,它提供了许多增强的功能和性能优化,尤其对于企业级应用来说,这是一个非常受欢迎的选择。由于是“免安装版”,这意味着它不需要通过传统安装过程即可在操作系统上...
MySQL 5.5是MySQL数据库管理系统的一个重要版本,它在2010年发布,带来了许多性能提升和新特性。MySQL是一种开源、免费的关系型数据库管理系统(RDBMS),广泛应用于网页应用程序、企业级系统以及大数据处理等领域。...
在MySQL 5.5中,有一些重要的**新特性**值得关注: 1. **InnoDB存储引擎增强**:支持全文索引,提高了并发性和稳定性。 2. **分区功能扩展**:增加了更多类型的分区,如线性哈希分区,提升了大数据处理能力。 3. **...
MySQL 5.5是MySQL数据库管理系统的一个重要版本,它在2010年发布,针对性能、稳定性以及功能进行了多项优化。本安装包是专为Windows操作系统设计的,支持32位(x86)和64位(x64)架构。MySQL 5.5在Windows平台上的...
本文将详细解析“win-mysql5.5安装包”的关键知识点,帮助用户顺利进行安装和配置。 首先,MySQL 5.5是MySQL的第五个主版本,发布于2010年,它在性能、安全性和易用性上都有显著提升。此版本引入了许多新特性,例如...
二、MySQL 5.5新特性 1. InnoDB存储引擎改进:MySQL 5.5默认使用InnoDB存储引擎,支持事务处理和行级锁定,提升了并发性能。 2. Aria存储引擎:提供更快的数据恢复和更稳定的表管理。 3. Performance Schema:新的...
这个“Mysql5.5数据库安装包”包含了MySQL 5.5.12的Windows 32位版本,适合在32位操作系统上安装和运行。以下是关于MySQL 5.5的一些核心知识点: 1. **存储引擎**:MySQL 5.5默认使用InnoDB存储引擎,提供事务处理...
- **动态调整刷新脏页数量**:在 MySQL 5.5 中,引入了 `innodb_io_capacity` 参数,该参数允许用户根据实际磁盘性能动态调整刷新脏页到磁盘的数量,这有助于提高磁盘 I/O 处理能力。 - **改进的数据恢复时间**:...