换个思路想问题
我们在开发大的系统,处理很大的数据量的问题时,难免会用到for循环,那么在数据有几百万上千万的时候用for循环靠谱吗?
在处理很大数据的时候,使用for循环,不仅消耗内存,执行效率也会大大下降,那我们怎么处理呢?
下面给大家举个我碰到的问题,就是输入查询条件,在数据库查询数据:看例子
我们输入一个查询查询条件,
select * from student where age > 18
DataTable data = new DataTabel();
我们得到一个data,data中放的是所有查询到的数据,
但是有上千万条数据,而且还要以查到的每一个同学的姓名作为条件来查询数据,
那大家会怎么做呢, 我刚开始,就是写在for循环中一个个循环来查询,速度比蜗牛还慢,
于是我把sql语句和查询的条件分开来, 先把data中的数据循环出来然后拼接到一个字符串中,每个以逗号隔开,Sql
是使用的in来查询的,这样把条件和语句拼到一起只要一句Sql就ok了,查询数度刚刚的!
这是想法问题,要天马行空,总有好的解决办法,