首页 新闻 会员 周边 捐助

大数据优化查询有哪些方法?

0
悬赏园豆:50 [已解决问题] 解决于 2022-10-17 18:40

请问 sqlserver.oracle等大数据库,千万级别以上的数据表怎么优化查询?

tea2007的主页 tea2007 | 初学一级 | 园豆:7
提问于:2022-10-13 16:23
< >
分享
最佳答案
0

除了分库 分表, 读写分离外
那就只可能做索引+缓存
然后再就建视图,然后给视频加索引与缓存

收获园豆:10
Giant150 | 小虾三级 |园豆:1172 | 2022-10-14 09:29
其他回答(5)
0

分库 分表, 读写分离

收获园豆:10
Tom.汤 | 园豆:3058 (老鸟四级) | 2022-10-13 20:41
0

1.加索引
2.不要使用like来模糊匹配字段
把这些字段 同步到es或者第三方 比如阿里云tablestore来查询
3.联表的数据不要超过三张

如果还是不行,需要定期把哪些老数据迁移,保证表的数据在1kw以内。

收获园豆:10
楠木大叔 | 园豆:2083 (老鸟四级) | 2022-10-14 12:48
0

后台分页 ,使用缓存机制

收获园豆:5
缘— | 园豆:158 (初学一级) | 2022-10-14 16:19
0

sql server 略有压力,但是Oracle应对千万级是毫无压力的。
面对单表,建索引就ok了。
面对多表,建索引能解决80%的问题,剩下的20%的问题不太好解决,因为不是所有字段都好建索引的,也不是所有的联接都能会被索引提升效率的。这时候就建物化视图,就ok了。
对于添加索引和物化视图也解决不了的问题,也是有的,比如用户就是要求对五个字段进行like查询,并且要求'%xxx%'这种,就导致无法走索引,这种情况,需要优化表结构以及查询逻辑,比如,将某个字段追加一个镜像字段,它的字符串同原字段里面的字符串相反,查询 的时候,分别用'abc%'和'cba%'来作为这两个字段的like条件。其它还有好多相应的方法。

收获园豆:10
ensleep | 园豆:1682 (小虾三级) | 2022-10-14 16:23
0

千万级别以上建议换方案了
比如阿里自研的Oceanbase

收获园豆:5
ycyzharry | 园豆:25683 (高人七级) | 2022-10-15 03:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册