有这样一个任务,就是给你一堆数据,去数据库中匹配查询相应数据。
我这里大概是1万条用户名数据。需要去数据库中查询匹配的卡号。
一般的思路就是:
“读取数据,然后循环去数据库中逐条查询。”
这种方式查询数据库要查询1万次,需要很长时间。
换一种方法就是:
“把数据库中相关数据全部读出来,然后把用户名,和卡号放在Map里。把用户名当key,然后根据用户名去Map中匹配”
这种思路关键点就是,把数据拉到内存,在内存中进行比对。
我这里数据库中是17万条数据,百万级以下应该都是这种方法快。当然要根据实际情况,如果你的数据库中的数据量实在太大,那内存可能抗不住,这种方法就不行了。