做了一个录入工具,可能同时有50个人操作某一个表,进行频繁的读取操作....我现在的办法是单机版的..代码的思路就是,频繁的SELECT -*- FORM..table where........
不知道这么操作在局域网内,对服务器有影响没有..
方案2.第一次读取数据库就把数据做为数组一次写进内存,每次操作都是在本机进行,当有数据更新的时候,手动刷新这个数组...视乎后面这个效率超高,但是需要改动大量代码..请问前面这个办法可行吗?当数据量上万后影响大不.
不知道这么操作在局域网内,对服务器有影响没有..
方案2.第一次读取数据库就把数据做为数组一次写进内存,每次操作都是在本机进行,当有数据更新的时候,手动刷新这个数组...视乎后面这个效率超高,但是需要改动大量代码..请问前面这个办法可行吗?当数据量上万后影响大不.
如果数据是静态数据比较多(增/删/改不多,就是查询多),也就是,数据的实时交互不是要求不是很高的话,建议用方案2如有实时交互要求,只能从提高查询性能方面想办法,把经常需要用到的查询建为视图,按查询的关键字加索引,如对数据实时精度不是很高,允许脏读,可以提高查询性能。
select a,b,c from table with(nolock) where ....设置事务隔离级别:允许脏读
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
而且需要的数据所在数据页在内存的话,sql server也会从内存读取的把数据放入数组存在客户机内存里,对于数据的一致性完整性操作应该比较麻烦