在coldfusion中,是否可以在数据源级别将默认隔离级别“read committed”的隔离级别设置为“read uncommitted”…
我认为这可以从每个数据源连接设置所在的内部文件中的数据源文件中完成.
请分享您对此的看法.
谢谢,
SJ
最佳答案 你有几个选择:
>在数据库本身上执行此操作(例如,在MS Sql Server中,您可以设置默认隔离级别)
>通过xml在CF 6中提供数据源(如您所知),但即使它仍然受到支持,我也会高度建议它
>在SQL中使用表提示.
由于隔离处理事务,因此在数据库中设置默认READ或通过< cftransaction isolation =“read_uncommitted”…>指定它更有意义.
如果需要将其应用于所有语句(例如允许快照读取),请在DB本身中应用默认隔离. Here’s a good overview以及如何设置它的步骤.
如果你想从特定的表中读取未提交的(听起来不像它),那么使用表提示,如
SELECT * FROM LargeDataSet WITH (NOLOCK)
请记住,这是一个暗示,引擎不会被迫坚持它.
通常,如果您需要读取未提交的数据,那么这意味着您将体验读取阻塞,您可能需要考虑一些体系结构更改(在那里,完成此操作)或将默认设置更改为快照模式(此方法的优缺点)
祝好运!