Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查询耗时1分35秒_Sql_Sql Server - Fatal编程技术网

SQL查询耗时1分35秒

SQL查询耗时1分35秒,sql,sql-server,Sql,Sql Server,我正在托管的SQL server上执行查询,需要1分35秒。检索行数为18000。不过,这花了太多时间。疑问是 select ID, FirstName, LastName, Branch, EnquiryID, Course, College, Mobile, ExamID, EntranceID, Entrance, Venue,

我正在托管的SQL server上执行查询,需要1分35秒。检索行数为18000。不过,这花了太多时间。疑问是

select ID,
       FirstName,
       LastName,
       Branch,
       EnquiryID,
       Course,
       College,
       Mobile,
       ExamID,
       EntranceID,
       Entrance,
       Venue,
       RegNo,
       VenueID,
       Exam,
       Gender,
       row_number() over (partition by EnquiryID order by ID asc) as AttemptNO
from AGAM_View_AOPList
order by EnquiryID
表架构

    CREATE TABLE [dbo].[AGAM_AceOFPace](
[ID] [int] IDENTITY(1,1) NOT NULL,
[EnquiryID] [int] NULL,
[FirstName] [nvarchar](100) NULL,
[MiddleName] [nvarchar](100) NULL,
[LastName] [nvarchar](100) NULL,
[BranchID] [int] NULL,
[Branch] [nvarchar](100) NULL,
[CourseID] [int] NULL,
[ExamID] [int] NULL,
[Exam] [nvarchar](200) NULL,
[EntranceID] [int] NULL,
[Entrance] [nvarchar](200) NULL,
[RegNo] [nvarchar](200) NULL,
[EntranceCode] [nvarchar](100) NULL,
[ExamDate] [nvarchar](50) NULL,
[UserID] [nvarchar](100) NULL,
[EntranceFees] [numeric](18, 2) NULL,
[VenueID] [int] NULL,
[Venue] [nvarchar](max) NULL,
[ChequeNumber] [nvarchar](50) NULL,
[Bank] [nvarchar](100) NULL,
[CreatedDate] [datetime] NULL,
    CONSTRAINT [PK_AGAM_AceOFPace] PRIMARY KEY CLUSTERED 
    (
[ID] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF,    ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]

参考文献[dbo].[AGAM_Inquiry][ID] 去

第二桌

    CREATE TABLE [dbo].[AGAM_Inquiry](
[ID] [int] IDENTITY(1,1) NOT NULL,
[RegNo] [nvarchar](200) NULL,
[BranchID] [int] NULL,
[Category] [nvarchar](100) NULL,
[CourseID] [int] NULL,
[EntranceFees] [numeric](18, 2) NULL,
[EntranceID] [int] NULL,
[UserID] [nvarchar](50) NULL,
[Status] [nvarchar](50) NULL,
[ReminderDate] [datetime] NULL,
[Reminder] [nvarchar](150) NULL,
[Mobile] [nvarchar](50) NULL,
[Email] [nvarchar](50) NULL,
[FirstName] [nvarchar](50) NULL,
[MiddleName] [nvarchar](50) NULL,
[LastName] [nvarchar](50) NULL,
[Landline] [nvarchar](50) NULL,
[Address] [nvarchar](100) NULL,
[DOB] [datetime] NULL,
[Gender] [nvarchar](50) NULL,
[PfBatchTime] [nvarchar](50) NULL,
[SourceOfInquiry] [nvarchar](50) NULL,
[ExStudentID] [int] NULL,
[InquiryDate] [datetime] NULL,
[ReceiptNumber] [nvarchar](50) NULL,
[RawID] [int] NULL,
[Deleted] [int] NULL,
[CreatedBy] [nvarchar](50) NULL,
[CreatedDate] [datetime] NULL,
[LastModifiedBy] [nvarchar](50) NULL,
[LastModifiedDate] [datetime] NULL,
[College] [nvarchar](150) NULL,
[Qualification] [nvarchar](150) NULL,
[RptNo] [nvarchar](100) NULL,
    CONSTRAINT [PK_AGAM_Inquiry] PRIMARY KEY CLUSTERED 
    (
[ID] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF,   ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]

    GO

    ALTER TABLE [dbo].[AGAM_Inquiry]  WITH CHECK ADD  CONSTRAINT   [FK_AGAM_Inquiry_AGAM_Branch] FOREIGN KEY([BranchID])
    REFERENCES [dbo].[AGAM_Branch] ([ID])
    GO

    ALTER TABLE [dbo].[AGAM_Inquiry] CHECK CONSTRAINT [FK_AGAM_Inquiry_AGAM_Branch]
    GO

    ALTER TABLE [dbo].[AGAM_Inquiry]  WITH CHECK ADD  CONSTRAINT   [FK_AGAM_Inquiry_AGAM_Course] FOREIGN KEY([CourseID])
    REFERENCES [dbo].[AGAM_Course] ([ID])
    GO

    ALTER TABLE [dbo].[AGAM_Inquiry] CHECK CONSTRAINT [FK_AGAM_Inquiry_AGAM_Course]
    GO

     ALTER TABLE [dbo].[AGAM_Inquiry]  WITH CHECK ADD  CONSTRAINT  [FK_AGAM_Inquiry_AGAM_Users] FOREIGN KEY([UserID])
    REFERENCES [dbo].[AGAM_Users] ([UserID])
   GO

    ALTER TABLE [dbo].[AGAM_Inquiry] CHECK CONSTRAINT [FK_AGAM_Inquiry_AGAM_Users]
   GO

你能试着把视图改成这个吗

SELECT TOP (100) PERCENT 
    AP.ID, 
    AP.FirstName, 
    AP.LastName, 
    AP.Branch, 
    AP.EnquiryID, 
    AC.Name,
    AI.College, 
    AI.Mobile, 
    AP.ExamID, 
    AP.EntranceID, 
    AP.RegNo, 
    AP.VenueID, 
    AP.Exam, 
    AI.Gender, 
    AP.BranchID, 
    AP.CourseID, 
    AP.CreatedDate, 
    AI.Status, 
    AP.Entrance, 
    AP.Venue 
FROM dbo.AGAM_AceOFPace AS AP 
INNER JOIN dbo.AGAM_Inquiry AS AI ON AI.ID = AP.EnquiryID 
INNER JOIN dbo.AGAM_Course as AC on AC.ID = AP.CourseId
ORDER BY AP.EnquiryID

你有查询ID和课程ID的索引吗

当您通过它进行连接、排序和分区时,您确实应该这样做

CREATE INDEX IDX_AGAM_AceOFPace_EnquiryID
ON AGAM_AceOFPace (EnquiryID)

CREATE INDEX IDX_AGAM_AceOFPace_CourseID
ON AGAM_AceOFPace (CourseID)

视图包含两个表的连接简单连接向我们展示表定义创建表…,所有索引的定义和执行计划。粘贴您的模式和所需的输出您用于查询视图的查询并不有趣,您应该尝试运行视图中定义的查询,并在运行查询时包括执行计划,然后查看成本最高的内容,并尝试在视图中改进查询。选择前100%的AP.ID、AP.FirstName、AP.LastName、AP.Branch、AP.inquiryid、,从dbo.AGAM_课程中选择名称,其中ID=AP.CourseID作为课程,AI.College,AI.Mobile,AP.ExamID,AP.enterId,AP.RegNo,AP.VenueID,AP.Exam,AI.Gender,AP.BranchID,AP.CourseID,AP.CreatedDate,AI.Status,AP.entry,AP.VICE FROM dbo.AGAM_AceOFPace AS AP internal JOIN dbo.AGAM_Inquiry AS AI ON AI.ID=AP.inquiryId按AP.inquirydwell如果查询速度慢,则无法对其进行太多优化。在视图中按ORDER BY不是“坏消息”吗?
SELECT TOP (100) PERCENT 
    AP.ID, 
    AP.FirstName, 
    AP.LastName, 
    AP.Branch, 
    AP.EnquiryID, 
    AC.Name,
    AI.College, 
    AI.Mobile, 
    AP.ExamID, 
    AP.EntranceID, 
    AP.RegNo, 
    AP.VenueID, 
    AP.Exam, 
    AI.Gender, 
    AP.BranchID, 
    AP.CourseID, 
    AP.CreatedDate, 
    AI.Status, 
    AP.Entrance, 
    AP.Venue 
FROM dbo.AGAM_AceOFPace AS AP 
INNER JOIN dbo.AGAM_Inquiry AS AI ON AI.ID = AP.EnquiryID 
INNER JOIN dbo.AGAM_Course as AC on AC.ID = AP.CourseId
ORDER BY AP.EnquiryID
CREATE INDEX IDX_AGAM_AceOFPace_EnquiryID
ON AGAM_AceOFPace (EnquiryID)

CREATE INDEX IDX_AGAM_AceOFPace_CourseID
ON AGAM_AceOFPace (CourseID)