|
悠悠杨
- 高级会计师
- 2152
- 85290
- 3941
- 3901
-
2009-06-10
-
2010-07-30
|
悠悠杨
2010-03-15 08:36
|只看楼主
1#
t
T
| 问题名称: | 零售单录入商品信息检索特别慢 | | 问题现象: | 零售单录入商品信息检索特别慢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,ad1Bøú¯Z drop view [dbo].[a_vw_AllBarcode]ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z SET QUOTED_IDENTIFIER OFF ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z SET ANSI_NULLS ON ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z CREATE View dbo.a_vw_AllBarcodeÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z as ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z Select s_ID,barcode From Product where barcode is not nullÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z Union ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z select Prod_Id,barcode From Productbarcode ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z SET QUOTED_IDENTIFIER OFF ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z SET ANSI_NULLS ON ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z declare tb cursor for ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z --刷新视图处理的语句ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z select 'exec sp_refreshview ''['+replace(user_name(uid), N']',N']]')+'].['ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z +replace(object_name(id),N']',N']]')+']'''ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z from dbo.sysobjectsÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z where xtype='v' and status>=0ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z union all --刷新存储过程,自定义函数,触发器的语句ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z select 'exec sp_recompile ''[' + replace(user_name(uid), N']', N']]')+'].['ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z + replace(object_name(id), N']', N']]')+ ']'''ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z from dbo.sysobjectsÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z where xtype in('tr','fn','if','tf','p') and status>=0ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z declare @s nvarchar(4000)ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z open tb ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z fetch tb into @sÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z while @@fetch_status=0ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z beginÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z exec(@s)ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z fetch tb into @sÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z endÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z close tbÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯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,ad1Bøú¯Z drop view [dbo].[a_vw_AllBarcode]ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z SET QUOTED_IDENTIFIER OFF ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z SET ANSI_NULLS ON ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z CREATE View dbo.a_vw_AllBarcodeÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z as ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z Select s_ID,barcode From Product where barcode is not nullÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z Union ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z select Prod_Id,barcode From Productbarcode ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z SET QUOTED_IDENTIFIER OFF ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z SET ANSI_NULLS ON ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z GOÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z declare tb cursor for ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z --刷新视图处理的语句ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z select 'exec sp_refreshview ''['+replace(user_name(uid), N']',N']]')+'].['ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z +replace(object_name(id),N']',N']]')+']'''ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z from dbo.sysobjectsÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z where xtype='v' and status>=0ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z union all --刷新存储过程,自定义函数,触发器的语句ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z select 'exec sp_recompile ''[' + replace(user_name(uid), N']', N']]')+'].['ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z + replace(object_name(id), N']', N']]')+ ']'''ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z from dbo.sysobjectsÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z where xtype in('tr','fn','if','tf','p') and status>=0ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z declare @s nvarchar(4000)ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z open tb ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z fetch tb into @sÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z while @@fetch_status=0ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z beginÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z exec(@s)ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z fetch tb into @sÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z endÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z close tbÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z deallocate tb | ÛÖfÍ'Ï!bbs.51ecom.cc,ad1Bøú¯Z
|