了解下MySql 5.1的分区表。功能实现的怎么样?性能如何? 据说5.1有这个功能,有谁用过没有。功能实现的是不是和mssql差不多了?操作性怎么样?性能表现如何?如果有实验数据,加分伺候着。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MySQL 目前支持水平分区,也就是针对行的分区,主要有四种分区类型: * RANGE 分区 * LIST 分区 * HASH 分区 * KEY 分区 --类似 HASH 分区,只是要根据用户定义的表达式来进行分区MySQL 的 Key 分区类型,和微软的 Yukon (SQL Server 2005) 的分区方式很类似的,相对灵活一些,而 Oracle 的复合分区则为范围分区与 HASH 的结合体,这样略失灵活,但是便于管理。目前的 MySQL 分区实现上有限制:分区和索引必须是分区的。也就是说,MySQL 目前还没有类似 Oracle 全局索引(Global Index)的概念,而只支持 Local Index 。如果有时间的话,倒是很想测试一下 MySQL 分区的更多技术细节。Yukon分区可以通过Transact-SQL(或者其他的.NET语言)中用户定义的函数来实现,通过以下三步来做到: * 1.创建一个分区函数来指定表该如何使用该函数分区 * 2.创建一个分区模式来指定应用该分区函数的分区在文件组上的位置 * 3.创建一个表或者索引使用该分区模式SQL Server 现在也提供非分区表到分区表的转换。其步骤是需要先创建一个伪分区表,然后和真实的分区表交换数据。如果删除分区内的数据,居然也要先创建一个伪分区表,然后和真实的分区表进行交换操作,这个稍嫌麻烦些。Oracle 则早已经实现了“分区交换”类似的功能。而且,从DBA的角度上来说,多分区内的数据操作更为灵活,删除分区数据只需要 TRUNCATE 相关分区即可。 分区表只有在多磁盘(尤其是raid)多cpu的服务器上才有性能提升,它是利用并行处理来提高性能,普通机器只会更慢 MYSQL的分区表功能与SQL2005相比,还是有差距的,毕竟是FREE的,如果 你没有raid的话,最好不用 本身是在mssql服务器上做事的。为了节约成本,转战mysql,哈哈mysql分区貌似比mssql的更灵活?不过mssql分区有统一的分区函数,调整一个函数就等于调整了所有引用该函数所有的表,也就实现了所谓的表对齐。从手册上看,mysql好像每张表都单独定义分区方式,并没有像mssql一样拥有一个通用的函数分区? http://blog.chinaunix.net/u/29134/showart_493359.html 分区功能ORACLE是最强的,mysql分区貌似比mssql的更灵活? yes从手册上看,mysql好像每张表都单独定义分区方式,并没有像mssql一样拥有一个通用的函数分区?呵呵,没有,大概灵活就在就个方面 检查数据表中某个变量字段是否存在。 mysql的order by convert(column using gbk) asc怎么提升性能? 设置一个隔时运行的PHP页 binlog的同步有没有办法忽略到某些语句? 有人在实际的项目中用mysql cluster吗?请简单介绍一下框架吧 请教.如何导出表中的指定列? 关于mysql启动的问题,紧急求教 关于MySQL密码HASH的逆算与对策。 什么命令用来对Mysql备份 求高人帮人,一MYSQL查询。 mysql建表问题 查询视图快还是连表查询快?
* LIST 分区
* HASH 分区
* KEY 分区 --类似 HASH 分区,只是要根据用户定义的表达式来进行分区MySQL 的 Key 分区类型,和微软的 Yukon (SQL Server 2005) 的分区方式很类似的,相对灵活一些,而 Oracle 的复合分区则为范围分区与 HASH 的结合体,这样略失灵活,但是便于管理。目前的 MySQL 分区实现上有限制:分区和索引必须是分区的。也就是说,MySQL 目前还没有类似 Oracle 全局索引(Global Index)的概念,而只支持 Local Index 。如果有时间的话,倒是很想测试一下 MySQL 分区的更多技术细节。Yukon分区可以通过Transact-SQL(或者其他的.NET语言)中用户定义的函数来实现,通过以下三步来做到: * 1.创建一个分区函数来指定表该如何使用该函数分区
* 2.创建一个分区模式来指定应用该分区函数的分区在文件组上的位置
* 3.创建一个表或者索引使用该分区模式SQL Server 现在也提供非分区表到分区表的转换。其步骤是需要先创建一个伪分区表,然后和真实的分区表交换数据。如果删除分区内的数据,居然也要先创建一个伪分区表,然后和真实的分区表进行交换操作,这个稍嫌麻烦些。Oracle 则早已经实现了“分区交换”类似的功能。而且,从DBA的角度上来说,多分区内的数据操作更为灵活,删除分区数据只需要 TRUNCATE 相关分区即可。
从手册上看,mysql好像每张表都单独定义分区方式,并没有像mssql一样拥有一个通用的函数分区?
呵呵,没有,大概灵活就在就个方面