据说5.1有这个功能,有谁用过没有。功能实现的是不是和mssql差不多了?操作性怎么样?性能表现如何?如果有实验数据,加分伺候着。

解决方案 »

  1.   

    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 相关分区即可。
      

  2.   

    分区表只有在多磁盘(尤其是raid)多cpu的服务器上才有性能提升,它是利用并行处理来提高性能,普通机器只会更慢 MYSQL的分区表功能与SQL2005相比,还是有差距的,毕竟是FREE的,如果 你没有raid的话,最好不用
      

  3.   

    本身是在mssql服务器上做事的。为了节约成本,转战mysql,哈哈mysql分区貌似比mssql的更灵活?不过mssql分区有统一的分区函数,调整一个函数就等于调整了所有引用该函数所有的表,也就实现了所谓的表对齐。从手册上看,mysql好像每张表都单独定义分区方式,并没有像mssql一样拥有一个通用的函数分区?
      

  4.   

    http://blog.chinaunix.net/u/29134/showart_493359.html
      

  5.   

    分区功能ORACLE是最强的,mysql分区貌似比mssql的更灵活?  yes
    从手册上看,mysql好像每张表都单独定义分区方式,并没有像mssql一样拥有一个通用的函数分区?
    呵呵,没有,大概灵活就在就个方面