请教几个.net开发的问题:
1、遇到经常要读取数据库的情况,用SQL查询的数据较多,几万条以上,这种情况是否是把一次数据库读取出来的数据放置于内存中?还是即查即用?内存里大概能放多少数据呢?
2、数据库读取出来的数据,又有多个函数要操作它,是否设置为全局变量使用?如果是全局变量,用什么数据结构比较好?DataTable或者是List<>?
我现在的操作是把数据库中查询到的几万条数据一次性读完放在内存中,然后用linq作为条件过滤,不知道这种写法是不是合适的?
既然你的数据对实时性要求不高,可以存到Redis里面 然后读Redis
你存在内存里面不太合适。
几万条一点都不多,直接去数据库里查询就好
你把数据库里的数据缓存在本地内存里,不仅会产生脏数据问题,而且是浪费算力的
服务器来过滤数据秒秒钟的问题可能客户端要卡半天
直接用SQL语句查出来你需要的数据,这样最节省性能,不要把所有的都查询出来,然后后台代码逻辑进行过滤。除非你的SQL查询实现不了你需要的数据