MySQL 5.1正式版迟迟还没有出来。我等它就是为了等它的表分区功能,有了这个功能,一个表因数据量太多就会严重影响到速度的烦恼就
MySQL 5.1正式版迟迟还没有出来。我等它就是为了等它的表分区功能,有了这个功能,一个表因数据量太多就会严重影响到速度的烦恼就会迎刃而解。
表分区,即是一个表可以有多个分区,每个分区物理上等同于多个表,但是在逻辑上可以将它们当作一个表管理。这样就可以将关联性不大的数据分割到不同的分区,这样程序到体积相对小巧的分区里面读取数据自然快速很多。不过这里有个前提,你的数据分割得要合理,因为经常性的出现跨分区做数据分析,例如简单的排序,速度也会变得慢起来。
现在的multishop系统由于没有表分区功能,被逼使用了库表散列,将data按照企业来划分开到结构相同的N个表中。这样客户(企业)就会根据确定的company_id去到特定的表中读写数据。而系统管理人员若要抽取各企业的数据进行比较,,就需要访问N个表,然后在程序里对N个结果集进行整合。呵呵,对比之后,无轮是编程上还是管理上还是表分区方便一点。