MySQL 4.1/5.0/5.1/5.5各版本的主要区别

摘要:
4.1增加了对子查询的支持,对字符集的UTF-8,对GROUP BY语句的ROLLUP,以及对mysql更好的加密算法。用户表。2.5.0增加了对Storedprocesses、Views、Cursors、Triggers、XATransactions和INFORMATION_SCHEMA系统数据库的支持。3.5.1增加了事件调度程序、分区、堵塞

1、4.1 增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法。

2、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库。

3、5.1 增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global级别动态修改general query log和slow query log的支持。

4、5.5的新特征

1)默认存储引擎更改为InnoDB

2)提高性能和可扩展性

a. 提高了默认线程并发数(innodb_thread_concurrency)

b. 后台输入/输出线程控制(innodb_read_io_threads、innodb_write_io_threads)

c. 主线程输入/输出速率控制(innodb_io_capacity)

d. 操作系统内存分配程序使用控制(innodb_use_sys_malloc)

  1. 适应性散列索引(Hash Index)控制,用户可以关闭适应性散列功能。
  2. 插入缓冲(Insert Buffering)控制,用户可以关闭innodb的插入缓冲功能。
  3. 通过快速加锁算法提高可扩展性,innodb不在使用代理(posix)线程,而是使用原生的独立操作来完成互斥和读写锁定。
  4. 恢复组提交(Restored Group Commit)
  5. 提高恢复性能
  6. 多缓冲池实例
  7. 多个回滚段(Multiple Rollback Segments),之前的innodb版本最大能处理1023个并发处理操作,现在mysql5.5可以处理高达128K的并发事物,
  8. Linux系统固有的异步输入/输出,mysql5.5数据库系统也提高了linux系统的输入输出请求的并发数。

m. 扩展变化缓冲:添加了删除缓冲和清除缓冲

n. 改善了日志系统互斥和单独刷新(Flush)列表互斥

  1. 改善清除程序进度,在mysql5.5中清楚操作线程是独立的线程,并支持并发,可以使用innodb_purge_treads配置。

p. 改善事务处理中的元数据锁定。例如,事物中一个语句需要锁一个表,会在事物结束时释放这个表,而不是像以前在语句结束时释放表。

3)提高实用性

  1. 半同步复制(Semi-synchronous Replication)
  2. 复制Heartbeat

c. 中继日志自动恢复(Automatic Relay Log Recovery)

d. 根据服务器过滤项复制(Replication Per Server Filtering)

  1. 从服务器复制支持的数据类型转换(Replication Slave Side Data Type Conversions)

4)提高易管理性和效率

a. 建立快速索引(Faster Index Creation)

  1. 高效的数据压缩(Efficient Data Compression)

c. 为大物件和可变长度列提供高效存储

d.  增加了INFORMATION_SCHEMA表,新的表提供了与InnoDB压缩和事务处理锁定有关的具体信息。

5)提高可用性

a. 针对SIGNAL/RESIGNAL的新SQL语法

  1. 新的表/索引分区选项。MySQL5.5将表和索引RANG和LIST分区范围扩展到了非整数列和日期,并增加了在多个列上分区的能力。

6)改善检测和诊断

Mysql5.5引入了一种新的性能架构(performancn_shema,P_S),用于监控mysql监控服务器运行时的性能。

免责声明:文章转载自《MySQL 4.1/5.0/5.1/5.5各版本的主要区别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇桌面小部件开发嵌入式Linux应用程序开发下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux环境下排查cpu占比高的MySQL数据库sql语句

自MySQL 5.7版本后,PERFORMANCE_SCHEMA.THREADS表中新增一个字段THREAD_OS_ID,对应操作系统中的线程ID 1.安装sysstat工具包(为了使用pidstat命令),更多信息参考: https://www.linuxidc.com/Linux/2019-08/160082.htm Ubuntu: apt-get i...

MySQL冷备份的跨操作系统还原

数据来源:linux平台mysql版本为5.7 数据去向:windows平台mysql版本为5.7 操作步骤:   第一步:关闭mysql服务       service mysqld stop   第二步:归档linux平台下mysql的数据目录       tar -czvf data.tar.gz /usr/local/mysql/data   第三...

多线程之旅六——异步编程模式,自己实现IAsyncResult

作为模式,只是一种大家认可的经验,模式可以作为大家交流的词汇而存在。下面我们就要介绍几种异步编程模式,AMP、EAP和TAP。当然,法无定法,在我们理解的基础上,我们可以根据具体情况适度修改。下面介绍的只是在通常情况下的两种模式会是以什么样子的形式出现。   一 模型简介 1.APM 异步编程模型 这种模式的特征是一些成对出现的方法,分别以Begin和En...

python GIL 全局锁,多核cpu下的多线程性能究竟如何?

python GIL 全局锁,多核cpu下的多线程性能究竟如何?GIL全称Global Interpreter Lock GIL是什么? 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。有名的编译器例如GCC,...

java 注解结合 spring aop 实现日志traceId唯一标识

MDC 的必要性 日志框架 日志框架成熟的也比较多: slf4j log4j logback log4j2 我们没有必要重复造轮子,一般是建议和 slf4j 进行整合,便于后期替换为其他框架。 日志的使用 基本上所有的应用都需要打印日志,但并不是每一个开发都会输出日志。 主要有下面的问题: (1)日志太少,出问题时无法定位问题 (2)日志太多,查找问题很麻...

python3.6+RF连接mysql

接口自动化中会遇到有操作数据库的动作 目录 1、安装第三方库 2、安装pymysql 3、数据库操作 1、安装第三方库 使用在线安装:pip install robotframework_databaselibrary -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna....