千万级user数据, oracle查询优化,系统是怎么做的?

大数据查询优化,系统是怎么做的?

Q:表建了分区:为什么是手机号分区,不是时间分区呢?

A:因为业务场景里面,接口大多是要按照手机号查询的,所以按照手机号分区是为了支撑不同的业务场景需要。和报表系统不同,报表系统和时间:日,周,月报表必须以时间分区。手机号末尾2位分区,总共100个分区(00~99)。如果能精确拿到手机号的时候,就先判断末两位,看是哪个分区的,就只查询那个分区。

 

Q:SQL语句里面,判断手机号是11位的,就不能用like,必须用精确的=11位手机号 and 分区id =手机号后两位数字

A:这样是优化SQL的查询速度。当表的数据有几百万的时候,这样优化一下,速度的确会快很多。

当然,程序就需要判断一下,号码是不是11位的手机号。

你可能感兴趣的:(压测)