零售单录入商品信息检索特别慢

[ 198 查看 / 0 回复 ]

问题名称:零售单录入商品信息检索特别慢
问题现象:零售单录入商品信息检索特别慢8秒左右
原因分析:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[a_vw_AllBarcode]') and OBJECTPROPERTY(id, N'IsView') = 1)ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    drop view [dbo].[a_vw_AllBarcode]ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    SET QUOTED_IDENTIFIER OFF ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    SET ANSI_NULLS ON ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    CREATE View dbo.a_vw_AllBarcodeÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    as ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    Select s_ID,barcode From Product where barcode is not nullÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    Union ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    select Prod_Id,barcode From Productbarcode ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    SET QUOTED_IDENTIFIER OFF ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    SET ANSI_NULLS ON ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    declare tb cursor for ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    --刷新视图处理的语句ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    select 'exec sp_refreshview ''['+replace(user_name(uid), N']',N']]')+'].['ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    +replace(object_name(id),N']',N']]')+']'''ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    from dbo.sysobjectsÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    where xtype='v' and status>=0ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    union all --刷新存储过程,自定义函数,触发器的语句ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    select 'exec sp_recompile ''[' + replace(user_name(uid), N']', N']]')+'].['ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    + replace(object_name(id), N']', N']]')+ ']'''ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    from dbo.sysobjectsÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    where xtype in('tr','fn','if','tf','p') and status>=0ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    declare @s nvarchar(4000)ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    open tb ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    fetch tb into @sÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    while @@fetch_status=0ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    beginÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    exec(@s)ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    fetch tb into @sÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    endÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    close tbÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    deallocate tb
解决方案:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[a_vw_AllBarcode]') and OBJECTPROPERTY(id, N'IsView') = 1)ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    drop view [dbo].[a_vw_AllBarcode]ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    SET QUOTED_IDENTIFIER OFF ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    SET ANSI_NULLS ON ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    CREATE View dbo.a_vw_AllBarcodeÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    as ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    Select s_ID,barcode From Product where barcode is not nullÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    Union ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    select Prod_Id,barcode From Productbarcode ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    SET QUOTED_IDENTIFIER OFF ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    SET ANSI_NULLS ON ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    GOÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    declare tb cursor for ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    --刷新视图处理的语句ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    select 'exec sp_refreshview ''['+replace(user_name(uid), N']',N']]')+'].['ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    +replace(object_name(id),N']',N']]')+']'''ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    from dbo.sysobjectsÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    where xtype='v' and status>=0ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    union all --刷新存储过程,自定义函数,触发器的语句ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    select 'exec sp_recompile ''[' + replace(user_name(uid), N']', N']]')+'].['ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    + replace(object_name(id), N']', N']]')+ ']'''ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    from dbo.sysobjectsÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    where xtype in('tr','fn','if','tf','p') and status>=0ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    declare @s nvarchar(4000)ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    open tb ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    fetch tb into @sÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    while @@fetch_status=0ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    beginÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    exec(@s)ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    fetch tb into @sÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    endÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    close tbÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
    deallocate tb
ÛÖf͈'‹Ï!bbs.51ecom.cc,ad1­Bøú¯Z
分享 转发
TOP