mysql数据库分表的问题 我们有2个表 比如:用户表~还有订单表~数据非常大了!需要做分表了!例如:user1,user2,user3 订单表1,订单表2,订单3 这样join的话!肯定是非常慢的!慢咱先不说 而开发部经理 说 他还不想让程序员 看到分表!就是想让程序员对一个表 进行操作对程序员来说,就一个表,但实际物理存储的,却是多个表,这个问题怎么解决啊?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不建议使用这种分表。你可以直接使用MYSQL中的分区表。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html18. 分区18.1. MySQL中的分区概述18.2. 分区类型18.2.1. RANGE分区18.2.2. LIST分区18.2.3. HASH分区18.2.4. KEY分区18.2.5. 子分区18.2.6. MySQL分区处理NULL值的方式18.3. 分区管理18.3.1. RANGE和LIST分区的管理18.3.2. HASH和KEY分区的管理18.3.3. 分区维护18.3.4. 获取关于分区的信息 回楼上“不建议使用这种分表。你可以直接使用MYSQL中的分区表。”MYSQL的分区表,比如我的订单表,按时间分区了,每个月一个区,这样我对订单表进行查询的时候,如果WHERE字段是时间,那么此时的查询会从相应的分区里去查询,获得更好的效率。但是如果我查询不是按时间,而是按客户编号查询,此时用的就是客户编号的索引,或者是全表扫描了,此时的分区和未分区是没有区别的。我帖子就是水平拆分的意思。昨天看书上说可以用MYSQL的合并表来处理,Merge Table,没实际操作过。 的确如此。但如果你按用户分表了,然后使用merge 引擎,同样如果你打算按时间查询的时候也会面临同样的问题啊。关于merge 存储引擎并不复杂,MYSQL只不过是通过一个FRM文件将相同结构不同的表做了个union all 的视图。至于如何实现在帮助手册中有例子,你可以参考一下。 求救优化SQL 设置索引方法 Oracle 里的一个分层查询,麻烦转成My SQL! 求一SQL 求判断一条记录是否存在的最快办法 MYSQL数据库数据同步 是否可以用一条SQL实现 MySql中为何不支持下面语句? 请教.如何导出表中的指定列? 请教一个mysql中求连续登录天数统计的问题,各位大神帮帮忙~ SQLyog连接mysql错误号2003 mysql查询结果返回XML格式 附加表格基本问题
你可以直接使用MYSQL中的分区表。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
18. 分区
18.1. MySQL中的分区概述
18.2. 分区类型
18.2.1. RANGE分区
18.2.2. LIST分区
18.2.3. HASH分区
18.2.4. KEY分区
18.2.5. 子分区
18.2.6. MySQL分区处理NULL值的方式
18.3. 分区管理
18.3.1. RANGE和LIST分区的管理
18.3.2. HASH和KEY分区的管理
18.3.3. 分区维护
18.3.4. 获取关于分区的信息
“不建议使用这种分表。
你可以直接使用MYSQL中的分区表。”MYSQL的分区表,比如我的订单表,按时间分区了,每个月一个区,这样我对订单表进行查询的时候,如果WHERE字段是时间,那么此时的查询会从相应的分区里去查询,获得更好的效率。但是如果我查询不是按时间,而是按客户编号查询,此时用的就是客户编号的索引,或者是全表扫描了,此时的分区和未分区是没有区别的。我帖子就是水平拆分的意思。
昨天看书上说可以用MYSQL的合并表来处理,Merge Table,没实际操作过。
至于如何实现在帮助手册中有例子,你可以参考一下。