首页新闻找找看学习计划

asp.net 最高1亿多数据(单表),多条件混合即时查询,性能优化方案

0
悬赏园豆:5 [已解决问题] 解决于 2014-09-04 13:05

asp.net 最高1亿多数据(单表),多条件混合查询,有时间和分类需要条件,还有N个非必须条件。表结构已经水平垂直分割了,还有存在单表最高达到了1亿左右数据量。

我目前想到的可能方案:

1.企业级搜索引擎,如(Solr...)【技术上目前实现不了】

2.数据库全文索引(已用,好像没效果)

3.程序上增加必须查询条件(牺牲程序灵活性)

4.服务器硬件(已升级128内存 , 2x8核16线程, 600Gx6(SAS) ,100G SSD(忘记了100多点吧))

非常感谢大家能帮忙出出主意,谢谢。

游子善心的主页 游子善心 | 初学一级 | 园豆:73
提问于:2014-09-03 09:22
< >
分享
最佳答案
0

明显索引没建好。

收获园豆:1
Firen | 大侠五级 |园豆:5483 | 2014-09-03 12:07
Firen | 园豆:5483 (大侠五级) | 2014-09-03 12:10
其他回答(4)
0

这个要通过机制来解决 而非一点小小技巧就能够搞定

最多做过的一个单表数据大概7000万,要求任一条件查询到查询结果输出5秒之内生成报表,大概的实现即使建立一个索引库,把要搜索的条件给防止到临时表,把数据给整个放到内存里,然后通过查询索引获得ID,然后通过ID拿到数据来满足要求的。

收获园豆:1
````` | 园豆:14268 (专家六级) | 2014-09-03 09:31

这个数据有些特殊,最高单表是1亿多,但是类似表的个数是不定的(目前有30多个,后续可能增加到100多个),每个表里大致平均数据量在3千万左右。所以不太可能对每个表单个进行优化处理,因为不知道什么时候就增加一个类似表。

支持(0) 反对(0) 游子善心 | 园豆:73 (初学一级) | 2014-09-03 09:38
0

缓存?内存数据库?企业级PCIE SSD?分表? 建议参考下stackoverflow网站的方案。

收获园豆:1
XiaoFaye | 园豆:3082 (老鸟四级) | 2014-09-03 09:31
0

把表拆来了.

数据库用两个做读写分离.

数据库的内存多给点

收获园豆:1
【秦时明月】 | 园豆:760 (小虾三级) | 2014-09-03 09:58
0

关注一下!!!!

收获园豆:1
学无涯鲸拍浪 | 园豆:48 (初学一级) | 2014-09-03 10:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册