“T_BuildingBigBldgReportByDayTypeH”   delete  from  T_BuildingBigBldgReportByDayTypeH 这个表执行了一个晚上都没有完成。是因为里面数据多吗???   但是这个表里没有太多数据啊???

创建索引的语句也执行很久  为什么???

解决方案 »

  1.   

    先检查一下有没有主外键约束
    如果没有的话,下次不要用delete删了,直接truncate 吧,反正你那delete里面也没有where条件的,直接truncate 会快很多很多,必须确保表里面的所有数据都无用才可以用truncate哦 。怀疑有阻塞
      

  2.   

    各位大神,创建表的语句如下:/****** Object:  Table [dbo].[T_BuildingBigBldgReportByDayTypeH]    Script Date: 2015/1/16 10:46:18 ******/
    SET ANSI_NULLS ON
    GOSET QUOTED_IDENTIFIER ON
    GOSET ANSI_PADDING ON
    GOCREATE TABLE [dbo].[T_BuildingBigBldgReportByDayTypeH](
    [DANo] [char](32) NOT NULL,
    [DAYear] [char](4) NOT NULL,
    [DAMonth] [char](2) NOT NULL,
    [DADay] [char](2) NOT NULL,
    [BuildingNo] [char](20) NOT NULL,
    [ESubitem] [char](10) NOT NULL,
    [ESubitem1] [char](10) NULL,
    [ESubitem2] [char](10) NULL,
    [CollegegNo] [char](10) NULL,
    [BuildingType] [char](10) NULL,
    [SumQty] [decimal](18, 6) NULL,
    [UnitArea] [decimal](18, 6) NULL,
    [PerCapita] [decimal](18, 6) NULL,
    [Memo] [nvarchar](200) NULL,
    [cmn_CreateUserID] [int] NULL,
    [cmn_CreateDate] [datetime] NULL,
    [cmn_LastUserID] [int] NULL,
    [cmn_ModifyDate] [datetime] NULL,
    [cmn_IsLock] [bit] NOT NULL,
    [cmn_IsValid] [bit] NOT NULL
    ) ON [PRIMARY]GOSET ANSI_PADDING OFF
    GOALTER TABLE [dbo].[T_BuildingBigBldgReportByDayTypeH] ADD  DEFAULT (getdate()) FOR [cmn_CreateDate]
    GOALTER TABLE [dbo].[T_BuildingBigBldgReportByDayTypeH] ADD  DEFAULT (getdate()) FOR [cmn_ModifyDate]
    GOALTER TABLE [dbo].[T_BuildingBigBldgReportByDayTypeH] ADD  DEFAULT ((0)) FOR [cmn_IsLock]
    GOALTER TABLE [dbo].[T_BuildingBigBldgReportByDayTypeH] ADD  DEFAULT ((1)) FOR [cmn_IsValid]
    GOEXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_BuildingBigBldgReportByDayTypeH', @level2type=N'COLUMN',@level2name=N'Memo'
    GOEXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建用户代码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_BuildingBigBldgReportByDayTypeH', @level2type=N'COLUMN',@level2name=N'cmn_CreateUserID'
    GOEXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_BuildingBigBldgReportByDayTypeH', @level2type=N'COLUMN',@level2name=N'cmn_CreateDate'
    GOEXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'更新用户代码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_BuildingBigBldgReportByDayTypeH', @level2type=N'COLUMN',@level2name=N'cmn_LastUserID'
    GOEXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'更新时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_BuildingBigBldgReportByDayTypeH', @level2type=N'COLUMN',@level2name=N'cmn_ModifyDate'
    GOEXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否锁定:0:否;1:是' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_BuildingBigBldgReportByDayTypeH', @level2type=N'COLUMN',@level2name=N'cmn_IsLock'
    GOEXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否有效:1:是;0:否' ,
    问题:“EXEC sys.sp_addextendedproperty”  这是什么啊???       看SQL语句没有主外键关系啊。
     @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_BuildingBigBldgReportByDayTypeH', @level2type=N'COLUMN',@level2name=N'cmn_IsValid'
    GO
      

  3.   

    这个表没有触发器的啊TRUNCATE TABLE  T_BuildingBigBldgReportByHourTypeH   删除表也删除不掉啊。
      

  4.   

    TRUNCATE table T_BuildingBigBldgReportByDayTypeH 
      

  5.   

    就是一直在执行也无报错么?在删除过程中,是否有用户在使用该表,是否是死锁造成的?
    sp_lock 
    sp_who 查看下