Select语句也会引起死锁】的更多相关文章

项目上线,准备验收前出现了一个严重的问题:很多select语句作为死锁的牺牲,大部分报表无法打开.这个问题影响范围很大所有的报表都无法访问,而我们的报表是放在电视上面轮播的,电视放在工厂里面,所以出现问题后,整个工厂都知道了. 解决这个问题比较曲折,首先是写SAP接口的同事发现了问题:SAP一直在传错误数据导致产量表被锁住.修改SAP传输的错误数据后,这个死锁的问题没有出现了.但是我查看生产环境服务器日志的时候,发现这个问题依然存在,由于客户没有提这个问题,我也就是没有理由要求花时间修改了,因为…
优化Select 语句的原则 -摘抄<SQL Server 2005 性能监测与优化> Select 语句是数据库应用系统中最常用的语句之一,Select 语句设计的好坏直接影响到应用程序的工作性能. 在设计Select语句时,应该注意以下几种影响查询效率的情况: 1.  没有创建索引,或者没有正确地使用索引.这是最有可能影响数据库查询的原因之一.创建索引是优化数据库查询效率的重要手段. 2.  存在死锁的情况,从而导致Select语句挂起,无法返回结果集. 3.  返回不必要的列,很多程序员…
最近遇到了一个看上去很奇怪,分析起来很有意思的死锁问题.这个死锁看上去难以理解.而分析过程中,又使用了很多分析SQL Server死锁的典型方法.记录下来整个分析过程还是很有意义的. 问题重现步骤: 经过提炼,问题重现的步骤非常简单,在SQL 2008上可以很容易地重现. 1.         首先,创建一张表格,上面有一个clustered index,两个non-clustered index. create table tt(id int identity primary key,a ch…
1.没有创建索引,或者没有正确使用索引;2.存在死锁的情况,从而导致select语句挂起; 3.返回不必要的列,如很多人喜欢在程序中使用select * from 这样会查询表或视图中的所有字段,如果表或视图的数量比较大时候,就会浪费系统资源,应该只要返回必要的列 ;4.在select语句中使用where子句,限制返回的记录数 ;5.使用TOP关键字,限制返回的记录数 ;6.在使用like关键字的时候需要注意通配符的使用方法 ;7.慎用union关键字,因为它会影响到查询的效率 ;8.慎用Dis…
    花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用oracle用户登录linux [oracle@localhost ~]$ sqlplus / as sysdba; ...... SQL> alter user scott account unlock: 四大语句 DQL语句--select DML语句--insert,upate,delete等(关键…
1.新表不存在复制表结构即数据到新表 ? 1 2 create table new_table select * from old_talbe; 这种方法会将old_table中所有的内容都拷贝过来,用这种方法需要注意,new_table中没有了old_table中的primary key,Extra,auto_increment等属性,需要自己手动加,具体参看后面的修改表即字段属性.只复制表结构到新表 ? 1 2 3 4 5 6 # 第一种方法,和上面类似,只是数据记录为空,即给一个false…
SELECT 语句 SELECT 语句用于从表中筛选数据.列表结果存储于一个结果表中(称作result-set) 语法 SELECT column_name(s)FROM table_name 注意:SELECT 声明不区分大小写.SELECT和select是一样的. -------------------------------------------------------------------------------- SQL SELECT 示例 如下所示用一条SELECT语句从名为 "…
  1.最基本的Select语句: Select [Top n [With Ties]] <*|Column_Name [As <Alias>][, ...n]> From <Table_name> Order by <Column_Name [DESC]>[, ...n] 1)*(星号)表示所有列,在选择特定列时可以在结果集中更改显示的列名 Select * from ProductsSelect ProductID,ProductName,Categor…
  本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SELECT 列名称 FROM 表名称 以及: SELECT * FROM 表名称 注释:SQL 语句对大小写不敏感.SELECT 等效于 select. SQL SELECT 实例 如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 &qu…
以一条普通的“select * from table order by …”语句为例.图2-21中显示为该语句在数据库中各个组件之间的处理过程,各个步骤分别代表: (1)select语句通过网络传送给代理线程: (2)SQL语句经过重写及编译,将编译结果存放在Package cache中: (3)协调代理线程(coordinating agent)按照执行计划执行语句,将预取请求发送给预取线程: (4)预取线程在容器间并行执行异步I/O,将数据页放入缓冲池中(如果没有发生预取,则略过第4步):…