曾经有人来我家装宽带的时候
一开始要到网站上手动输个初始密码
对方工作人员就是输了之后,网站上已提交,但是查不到,过十几秒才查到再之前我在资产管理和基金公司里面也碰到过SQL Server这样,很短的几秒,但确实有
insert之后查不到现在我碰到,一个过程,保存临时表,然后从临时表读取的时候,由于临时表有点大了
所以读取的时候没读全。
我把过程里的东西分开手动执行,读取的数据就是完整的。我现在的上司不相信我。
想问问,是不是你们也碰到过这个问题。

解决方案 »

  1.   

    同意版主说的,如果有数据并且没有Blocking或者数据量不大应该很快会出结果。 如果数据量大看看TOP 1有没有值?
      

  2.   

    --#1.首先,要相信SQL SERVER,其实要真正了解SQL SERVER的原理
    --#2.提交后,未查到,可能是他们的服务器读写分离架构造成的延迟。
    --#3.没明白,楼主指的没读全是什么意思?得具体看你的代码。
    假如进程A以一个事务插入100W条数据,进程B在插入开始时,一直读此表,则:
    #1.100W条数据,要么都成功,要么都失败
    #2.在进程A成功前,B进程始终读不到这100W条记录中的任何一条(数据库默认隔离级别下),如果想在A插入未完成前,也能读取得到,那么在B的查询中表名后面加WITH(NOLOCK)提示。select * from tablename with(nolock)
    #3.问题,跟表的大小没关系。应该存在其它原因
      

  3.   

    这是是SQL Server自身的问题或者网络的问题,插入如果成功了,理论上应该就能查询到的
      

  4.   


    中国某个ISP的网站上有安装人员要第一次更换密码,当时他更新了之后,网页显示提交成功,但再输新密码还是错,旧密码对,是过了两三分钟再生效
    虽然我不知道他们后台是不是用sql 但是当时我记得正好工作用了很久sql,工作中碰到有延迟,所以跟他说有延迟,
    update肯定有延迟 虽然不排除他初始和使用密码不用同一个字段
    股票行情每天无数条,执行完得到反馈后,马上检索查不到,过半分钟才查到,很正常。