例如央行的个人征信查询。有8~9亿的用户在各个银行的贷款资料,在MYSQL 数据库里,怎么样提高查询速度?
肯定是通过身份证这个字段来查询。有哪些措施可以将查询速度尽可能提高到越快越好?
肯定是通过身份证这个字段来查询。有哪些措施可以将查询速度尽可能提高到越快越好?
解决方案:5分
分区表,身份证上添加索引。把身份证后8位单独取出做索引。
解决方案:5分
分表好了。mysql数据量太大效率很低
解决方案:5分
身份证是唯一的,虽然同一个人可能在不同的多个银行贷款,还是可以把身份证号创建索引,提高查询效率。
另外,建议把mysql升级到最新的版本,至少也要升级到5.6,高版本的mysql在数据量大的时候,查询性能相对来说比早期的版本更好点。
另外,建议把mysql升级到最新的版本,至少也要升级到5.6,高版本的mysql在数据量大的时候,查询性能相对来说比早期的版本更好点。
解决方案:80分
另外,建议对于身份证号,可以采用char类型,原因是长度是固定的,这样可以减少存储的开销。
数据量达到8亿条,本人觉得假如查询某一个身份证的贷款记录,速度应该还是很快的,创建索引后采用的B-Tree结构,索引树的高度应该还是比较低的,估计应该不超过7层,也就是经过7次随机IO就能找到那些记录,虽然没有做过实验,但是个人觉得应该在1秒以内返回结果。
数据量达到8亿条,本人觉得假如查询某一个身份证的贷款记录,速度应该还是很快的,创建索引后采用的B-Tree结构,索引树的高度应该还是比较低的,估计应该不超过7层,也就是经过7次随机IO就能找到那些记录,虽然没有做过实验,但是个人觉得应该在1秒以内返回结果。
解决方案:5分
学习了