需求:
由于数据表数据有上百万条,查询,加载都是一件痛苦的事情,通过在php中循环读取sql绑定到页面,我采用了异步加载的方案,这种方案可行性多大,还请大家指教指教啊.
执行步骤:
http://www.fuchaoqun.com/2009/04/efficient-pagination-using-mysql######既然这样为啥不横向分表呢,把基础信息和附带信息分开,这样也减少了单表的容量,同时也加快了查询基础信息数据的速度,至于附加信息可以通过异步方式查询一次,微博头像信息就是这样实现的######@光头程序员 嗯######回复 @光头程序员 : 也就是水平分区和垂直分区。水平分区是按照一个字段,比如说按照时间分成几个区;垂直分表是把一个表分成两部分,比如说一个基本信息表有很多大字段的备注,这些备注不常用,我们就可以把它分到另一个表中######回复 @钟晓骏 : 你是来回答问题的吗######懂的好多,真怀疑你是不是女女了。。。还没见过哪个女的程序员像你这么厉害的~或许是我还没碰到######
百万级的数据?有排序?
有一种思路是这样的:将主键以及排序字段冗余成一张新表(静态表),然后每次列表的时候都是通过这张表分页显示,然后从主表中ajax异步加载当前页所有ID的信息(指定主键查询)
这样不用分表什么的,最大限度减少工作量,而且主表就不用负担这方面的排序列表消耗了,索引空间也可以节约下来
不知道这样可不可以
######我也是这么看的######百万级的数据?有排序?
有一种思路是这样的:将主键以及排序字段冗余成一张新表(静态表),然后每次列表的时候都是通过这张表分页显示,然后从主表中ajax异步加载当前页所有ID的信息(指定主键查询)
这样不用分表什么的,最大限度减少工作量,而且主表就不用负担这方面的排序列表消耗了,索引空间也可以节约下来
不知道这样可不可以
百万级的数据?有排序?
有一种思路是这样的:将主键以及排序字段冗余成一张新表(静态表),然后每次列表的时候都是通过这张表分页显示,然后从主表中ajax异步加载当前页所有ID的信息(指定主键查询)
这样不用分表什么的,最大限度减少工作量,而且主表就不用负担这方面的排序列表消耗了,索引空间也可以节约下来
不知道这样可不可以
理论上是这样,但是查询的速度不仅仅是索引,还有内存、磁盘等因素。
我的意思是,这样的话可以大大减少主表所使用的I/O以及碎片(明显,这些都会制约查询)
而且查询表如何是静态表(比动态表快四倍?)的话,应该会好很多吧
百万级的数据?有排序?
有一种思路是这样的:将主键以及排序字段冗余成一张新表(静态表),然后每次列表的时候都是通过这张表分页显示,然后从主表中ajax异步加载当前页所有ID的信息(指定主键查询)
这样不用分表什么的,最大限度减少工作量,而且主表就不用负担这方面的排序列表消耗了,索引空间也可以节约下来
不知道这样可不可以
理论上是这样,但是查询的速度不仅仅是索引,还有内存、磁盘等因素。
我的意思是,这样的话可以大大减少主表所使用的I/O以及碎片(明显,这些都会制约查询)
而且查询表如何是静态表(比动态表快四倍?)的话,应该会好很多吧
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。