查询速度慢,求优化方案

拐子 发布于 2013/05/29 14:56
阅读 703
收藏 2
数据库有客户表里面有60个字段,1000W条记录,查询的时候如果选择多个条件、比如生日在某个区间、性别。。。。。。60个字段基本都会用作搜索条件,这样速度超级慢,请问大家有什么好的方案,不胜感激啊!
加载中
0
拐子
拐子
没人帮助吗?回答的人 我会在远方默默地祝福你的
0
kiwivip
kiwivip
60个字段都会作为搜索条件??......阿门
拐子
拐子
是的啊 条件多就影响到了效率
0
铂金胖子
铂金胖子

有必须用到的 where 条件吗?


拐子
拐子
没有哪个条件必须用到,都是可以选择的
0
铂金胖子
铂金胖子
Sybase  IQ 用到的 列存储技术,或许能解决你的问题。
RickyFeng
RickyFeng
60个字段的表,什么数据库都会慢
0
RickyFeng
RickyFeng
你先从大范围找出小范围的数据,再过滤数据;如按时间,分类等从数据库取出一定范围的数据,再在本地处理过滤数据。
0
阿水plus
阿水plus
60个字段基本都会用作搜索条件,但应该不会有一个场景同时用到60个字段吧,比如某个grid能同时用到15个字段,另一个grid能用到20个字段,那就专门针对每个场景加一张表做索引表,查询的时候只查索引表,原来包含60个字段的表作为数据源,数据源表和索引表之间做数据的同步,如果索引表的数据实时性要求不是很高,可以不做实时同步,这样不影响主表的写入性能
0
酒逍遥
酒逍遥

说实话比较难办..有个分表分区的思路.

比如把 性别男的 放到一张表,性别女的 放到一张表

然后根据生日 进行分区.比如每5年分一个区.

这样条件越多查询越快. 条件越少查询越慢

0
肉火烧
肉火烧
把能过滤掉最多数据的条件放到下面
0
八木
八木

这么大的数据要想快就得分成很多块

返回顶部
顶部