小编Ace*_*ePL的帖子

1条记录表索引扫描22亿次执行

在我的查询中,我不确定如何解决某些问题。

一、定义:

快递服务表。有一个记录。

CREATE TABLE [dbo].[CS](
    [ServiceID] [int] IDENTITY(1,1) NOT NULL,
    [CSID] [nvarchar](6) NULL,
    [CSDescription] [varchar](50) NULL,
    [OperatingDays] [int] NULL,
    [DefaultService] [bit] NULL,
 CONSTRAINT [CourierServices_PK] PRIMARY KEY CLUSTERED 
(
    [ServiceID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
       ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90
) ON [PRIMARY]
) ON [PRIMARY]

GO
SET IDENTITY_INSERT [dbo].[CS] ON 

INSERT [dbo].[CS] ([ServiceID], [CSID], [OperatingDays], [DefaultService])
           VALUES (1, N'RM48', 2, 1)
SET IDENTITY_INSERT [dbo].[CS] OFF
SET ANSI_PADDING ON

GO …
Run Code Online (Sandbox Code Playgroud)

performance sql-server sql-server-2012 query-performance

6
推荐指数
1
解决办法
1128
查看次数

使用默认命名空间和不一致的根节点解析类型化 XML

我有一个结构化的、类型化的 xml 文件。

<WebService xmlns="http://www.orbis-software.com/WebSvcCon">
 <NewLeads>
  <OutputSchema>
  <root xmlns="" type="array">
   <item type="object">
   <SaleProperty type="object">
    <Type type="string">Freehold</Type>
    <PostDistrict type="string">xxx</PostDistrict>
    <Address type="string">address</Address>
     <Value type="number">17.0</Value>
   </SaleProperty>
   <Transaction type="string">SaleOnly</Transaction>
   <Quote type="object">
    <Sale type="object">
     <Fees type="number">450.0</Fees>
     <Disbursements type="number">0.0</Disbursements>
     <StampDuty type="number">0.0</StampDuty>
     <Total type="number">450.0</Total>
    </Sale>
   <Discount type="number">0.0</Discount>
   <VAT type="number">90.0</VAT>
   <Total type="number">540.0</Total>
  </Quote>
  <MoverId type="number">12345678</MoverId>
  <Name type="string">Mr AS</Name>
  <Email type="string">as@yahoo.ppp</Email>
  <Telephone type="string">0123456789</Telephone>
  <Comments type="string">Joint ownership</Comments>
  <EstimatedMoveDate type="string">2015-11-25T05:57:00</EstimatedMoveDate>
  <Charge type="number">4.99</Charge>
  <ChargeStatus type="string">Chargeable</ChargeStatus>
 </item>
</root>
</OutputSchema></NewLeads></WebService>
Run Code Online (Sandbox Code Playgroud)

此外,对象 SaleProperty 可能会丢失,而可能是对象 PurchaseProperty。类似地,对象 Quote 可以包含 Sale、Purchase、Remortgage 对象或同时包含 Sale 和 Purchase 我找不到任何关于通过 SQL Server …

xml sql-server sql-server-2012 xquery

4
推荐指数
2
解决办法
1万
查看次数

SQL Server - 将复杂视图转换为表 - 最好的方法

我正在构建的视图每周都变得越来越复杂和大。它的想法是拥有多个管理报告的来源,包括其中一些人进行的临时查询(会计师 - 我能说什么)。我不担心服务器上的负载 - 这个服务器专门用于此,所以需要一段时间才能使用任何重要的资源。但是在它上面做任何事情都需要越来越长的时间。

它大约有 30% 的计算字段,目前有 25 个连接,我可以删除其中的 8 个,但在某些时候会添加更多。无法对其进行索引,因为它跨越 4 个不同的数据库(目前),因此性能充其量只是龟龟。

所以我想按计划将视图的内容转储到表中,问题是:有没有更好的方法?如果没有,需要注意哪些障碍?

编辑:数据过时:直到前一天。数据范围:所有行,不幸的是,当前计数为 320 万。此外,还有开发阶段的问题——现在我们正在研究我们需要、想要和想要的东西,所以性能调整是毫无意义的 ATT。索引将是一个好的开始,但不是现在这个观点。拆分为多个视图/查询听起来不错,但不会从任何有意义的意义上减少执行时间(减少 20 分钟听起来很棒,直到您意识到起点是 75 分钟)。

我正在使用的数据已通过 SSIS 包从其他数据库(和服务器)复制。对其进行改造以将数据整合到一个数据库中可能是可行的,但这不是我的权限。这可能涉及财务成本,并且在所有开发工作完成之前将被管理层拒绝。

我只知道我需要大大加快速度。可能很脏。除非我会花更多的时间等待查询执行而不是适当的开发。

performance sql-server view sql-server-2012 query-performance

4
推荐指数
2
解决办法
3982
查看次数