Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 总是创建事务是一种不好的做法吗?_Sql_Sql Server - Fatal编程技术网

Sql 总是创建事务是一种不好的做法吗?

Sql 总是创建事务是一种不好的做法吗?,sql,sql-server,Sql,Sql Server,总是创建事务是一种不好的做法吗 我的意思是,只为一个简单的选择创建一个事务是一个很好的实践 在没有必要的情况下,创建事务的成本是多少 即使您使用的是隔离级别read_uncommitted。这种做法不好吗?因为它不应该有锁定问题 更新: 最好的答案是: 事务是资源密集型的,同时它们也会记录元数据。 我建议不要在简单的SELECT语句上使用事务。我建议在复杂的存储过程上使用事务。您必须记住,如果您一直在使用事务,那么锁定资源会有风险 请快速阅读此处以了解进一步的解释-事务是资源密集型的,并且在执行

总是创建事务是一种不好的做法吗

我的意思是,只为一个简单的选择创建一个事务是一个很好的实践

在没有必要的情况下,创建事务的成本是多少

即使您使用的是隔离级别read_uncommitted。这种做法不好吗?因为它不应该有锁定问题

更新: 最好的答案是:

事务是资源密集型的,同时它们也会记录元数据。 我建议不要在简单的SELECT语句上使用事务。我建议在复杂的存储过程上使用事务。您必须记住,如果您一直在使用事务,那么锁定资源会有风险


请快速阅读此处以了解进一步的解释-

事务是资源密集型的,并且在执行此操作时也会记录元数据。 我建议不要在简单的SELECT语句上使用事务。我建议在复杂的存储过程上使用事务。您必须记住,如果您一直在使用事务,那么锁定资源会有风险


请快速阅读此处以获取进一步解释-

此问题更适合dba.stackexchange.com在需要事务时使用显式事务。我不确定以下短语
仅为简单选择或多选择创建事务是什么意思。
因此已将此问题编辑为(希望如此)说清楚点。如果这不是你想要的,请你自己澄清。@MartinSmith不是复制品。这个问题是关于SP的,而这个问题并不是关于一笔不必要的交易的成本是多少。我可以更改主要问题。@Martin Smith I修复了问题此问题更适合dba.stackexchange.com在需要事务时使用显式事务。我不确定以下短语
仅为简单选择或多选择创建事务是什么意思。
因此已将问题编辑为(希望如此)说清楚点。如果这不是你想要的,请你自己澄清。@MartinSmith不是复制品。这个问题是关于SP的,而这个问题并不是关于一笔不必要的交易的成本是多少。我可以更改主要问题。@Martin Smith I修复了问题我们使用的DAL总是打开事务并使用read_Uncommitted Islaotion级别。有了这个隔离级别,我们就不会有锁定问题了。因此,这仍然是一种不好的做法?除非您正在更改数据库中的数据,否则不应该有事务。读取未提交隔离级别也是一种非常糟糕的做法,它会导致返回的数据可能会回滚,因此不会真正出现在数据库中。我们使用的DAL总是打开事务并使用读取未提交隔离级别。有了这个隔离级别,我们就不会有锁定问题了。因此,这仍然是一种不好的做法?除非您正在更改数据库中的数据,否则不应该有事务。读取未提交隔离级别也是一种非常糟糕的做法,它会导致返回的数据可能会回滚,因此实际上永远不会在数据库中。