频繁的循环数组和频繁的读取数据库哪个比较划算?
数据库里面表的记录的行数有近千行,数组的数据有几十行。我要拿数组的每个值跟数据库里面的记录作比较比如,数组30行2列A[30][2],数据库1000行2列B[1000][...
数据库里面表的记录的行数有近千行,数组的数据有几十行。我要拿数组的每个值跟数据库里面的记录作比较 比如 , 数组30行2列 A[30][2], 数据库1000行2列 B[1000][2]。 方法一: 事先一次性读出数据库所有数据存select * from table 然后循环比较 B = ExQuery("select * from table"); //一次查询操作 for(int i = 0; i < A.length; i ++)//30次循环 for(int j = 0; j< B.length; j++ )//可能要进行近千次循环 if(A[i][0] == B.[j][0]){......}//最终是<=30*1000次循环 方法二: 每次循环读取一次的记录 select * from table where Name = A[i][0]然后比较 for(int i = 0; i < s.length; i ++){ //30次循环 B = ExQuery("select * from table where Name like A[i][0]"); //30次查询操作 for(int j = 0; j< B.length; j++ )// 模糊查询,最多不过10条记录 if(A[i][0] == B[j][0]){.......}}//最终是<=30*10次循环,加30次查询表格 --------------哪种做法比较合算呢------从性能和效率来说-----------
展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询