关于sql:如何避免数据库中的读取锁?

关于sql:如何避免数据库中的读取锁?

How do I avoid read locks in my database?

如何避免数据库中的读取锁?

欢迎回答多个数据库!


在SQL Server中,可以在select语句中使用with(nolock)关键字。例如:

1
2
SELECT table1.columna, table2.columna
FROM table1 WITH(nolock), table2 WITH(nolock)

确保为查询中的每个表/视图指定with(nolock)。


PostgreSQL还使用MVCC(多版本并发控制),因此使用默认的事务隔离级别(已提交读),除非有人在数据库上进行维护(删除/添加列/表/索引/等等),否则您永远不要阻塞。 。


在《火鸟》中,作家永远不会阻止读者,也不会有脏读。仅读提交和快照隔离级别。
它使用多代引擎(我相信像oracle)而不是简单的页面或记录锁定。


在Oracle中,默认的操作模式是"读取已提交"隔离级别,在该级别中,一个select语句不会被另一个修改其读取数据的事务阻止。
从数据并发和一致性:

Each query executed by a transaction sees only data that was committed before the query (not the transaction) began. An Oracle query never reads dirty (uncommitted) data.


杰夫·阿特伍德(Jeff Atwood)在这个主题上有一篇很好的文章:

http://www.codinghorror.com/blog/archives/001166.html


推荐阅读

    linux数据库同步命令?

    linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,D

    linux建立数据库命令?

    linux建立数据库命令?,软件,系统,工作,数据,密码,工具,数据库,一致,网络,服

    linux命令进数据库?

    linux命令进数据库?,地址,系统,名字,服务,密码,命令,读法,数据库,操作系统,

    linux数据库检查命令?

    linux数据库检查命令?,服务,状态,地址,位置,系统,信息,命令,工作,情况,密码,

    linux命令进去数据库?

    linux命令进去数据库?,地址,服务,名字,系统,数据库,工具,基础,工作,管理,网

    linux数据库基础命令?

    linux数据库基础命令?,地址,工作,基础,系统,命令,信息,情况,工具,设备,目录,l

    linux循环语句命令?

    linux循环语句命令?,地方,增长,数字,语句,流程,名称,工具,代码,数据,条件,Lin

    数据库导出命令linux?

    数据库导出命令linux?,数据,系统,名称,密码,软件,服务,情况,网上,工具,文件,L

    php读取linux命令?

    php读取linux命令?,系统,环境,项目,工具,风险,命令,函数,文件,目录,终端,PHP

    linux读取日志的命令?

    linux读取日志的命令?,系统,信息,情况,实时,对比,日志,命令,指令,文件,尾部,L

    linux数据库删除命令?

    linux数据库删除命令?,软件,服务,产品,名称,系统,不了,地址,管理,电脑,命令,L

    linux数据库操作命令?

    linux数据库操作命令?,信息,系统,网络,地址,分析师,数据,名称,管理,基础,命

    linux连数据库命令?

    linux连数据库命令?,服务,地址,密码,名字,系统,软件,一致,命令,数据库,读法,

    linux读取ip命令?

    linux读取ip命令?,地址,网络,系统,信息,状态,数字,电脑,终端,命令,中心,linux

    备份数据库命令linux?

    备份数据库命令linux?,服务,网络,备份,数据,工具,设备,系统,一致,数据库,命

    linux高亮关键字命令?

    linux高亮关键字命令?,名称,工作,系统,环境,管理,第一,观察,数据,术语,颜色,l

    linux读取命令耗时?

    linux读取命令耗时?,时间,系统,信息,地址,服务,百分比,网络,基础,工具,命令,l

    linux登录数据库命令?

    linux登录数据库命令?,地址,系统,名字,服务,软件,标准,灵活,命令,数据库,读

    linux数据库选择命令?

    linux数据库选择命令?,系统,地址,工作,软件,管理,信息,工具,基础,命令,服务,

    linux数据库版本命令?

    linux数据库版本命令?,密码,服务,地址,工具,系统,环境,基础,网络,基础知识,