15
回答
查询速度慢,求优化方案
华为云数据库免费试用   
数据库有客户表里面有60个字段,1000W条记录,查询的时候如果选择多个条件、比如生日在某个区间、性别。。。。。。60个字段基本都会用作搜索条件,这样速度超级慢,请问大家有什么好的方案,不胜感激啊!
<无标签>
举报
拐子
发帖于5年前 15回/689阅
共有15个答案 最后回答: 5年前
你先从大范围找出小范围的数据,再过滤数据;如按时间,分类等从数据库取出一定范围的数据,再在本地处理过滤数据。
60个字段基本都会用作搜索条件,但应该不会有一个场景同时用到60个字段吧,比如某个grid能同时用到15个字段,另一个grid能用到20个字段,那就专门针对每个场景加一张表做索引表,查询的时候只查索引表,原来包含60个字段的表作为数据源,数据源表和索引表之间做数据的同步,如果索引表的数据实时性要求不是很高,可以不做实时同步,这样不影响主表的写入性能

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

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

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

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

顶部