我正在构建一个Sharepoint应用程序,它在多个数据库(在同一个MS服务器上)上运行单个SQL查询。就速度而言,我在连接字符串中指定的数据库重要吗?因此,如果我的查询如下:
SELECT col1, col2 FROM db1.table UNION ALL
SELECT col1, col2 FROM db2.table UNION ALL
SELECT col1, col2 FROM db3.table
如果我的连接字符串如下所示,会有什么不同吗?
Server=***;Database=db1; Integrated Security=SSPI; Connection Tim
我正在尝试改进一些SQL查询。我正在使用SQL server management studio 11和SQL server 2012。我正在做一个webform C# .Net (v4.5)项目。
当我直接从SQL server management studio创建查询时,我可以使用“执行计划”来检查发生了什么。
我查询的瓶颈是"Order By“。是直接从请求后的代码对列表进行排序更好,还是应该继续使用SQL查询的"Order By“?
谢谢
我在SQL Server Express 2008中使用Entity Framework。在使用分析器时,我看到SQL是这样生成的:
SELECT
[Project1].[C1] AS [C1],
[Project1].[EmployeeID] AS [EmployeeID],
[Project1].[FirstName] AS [FirstName],
[Project1].[LastName] AS [LastName],
[Project1].[Active] AS [Active],
[Project1].[Updated] AS [Updated],
[Project1
在Sql server (2008版本)中,我有两个类似的查询:
Select * from sampleTable into #tempTable
或
Select * into #tempTable from (Select Query) as someTableName
这些查询是否对性能或内存空间有好处?或者两者都一样好。
这是众所周知的,他们个人比
Insert into Temp
<Query>
但是如果和对方相比的话。
更新文本:两个查询如下:
Select A,B,C into #tempTable from TestTable
或
Select * into
我已经为我的性能工作台标记练习设置了server 2005,并且在另一个服务器上放置了相同的数据库,该服务器具有sql server 2008,并且在硬件配置方面完全复制。在这两台服务器中,Sql服务器内存分配也是相同的。但我的基准测试结果在2008年比2005年还要糟糕。有人能帮我找出sql server 2008性能下降的原因吗?什么是我需要注意的事情,或参数设置,以获得更好的或相同的结果集。
我使用的是SQL Server 2008数据库。我在连接到6个不同表的链接服务器上运行view。如果日期是硬编码的,我的查询运行时间不到一秒。然而,当日期被指定为@start和@stop时,它需要无限的时间。
-- SQL Server 2008
SELECT Date_, ID, Val1, Val2,
RowId=Row_number() OVER (PARTITION BY Date_, ID ORDER BY Val1 DESC)
FROM ANOTHER_SERVER_DATABASE_VIEW AS V (NOLOCK)
WHERE V.ID IS NO
为什么,当像下面这样打开查询时:
WHERE (statement1) AND ((statement2) OR (statement3))
SSMS查询设计器是否将其重构为以下语法:
WHERE (statement1) AND (statement2) OR (statement1) AND (statement3)
我认为这与SQL server解析查询的方式有关,在ors之前运行ands?
有没有一个通用的规则来确定语句的最佳顺序以实现最终优化?
在运行了我自己的测试之后,第二个查询将处理时间缩短了0.5ms。我知道它很小,但会随着
我们正在将多个ETL进程从Server 2016、Windows2012服务器转换为Windows2019、server 2019 (CU8)环境。
一个进程在Server 2019中运行的时间比在Server 2016中运行的时间长。该过程执行一个INSERT into B, select x from A,其中x是一系列子字符串和case语句。
表A基本上包含一个数据列,6,000字节长。表B由950多个数据列组成。我将平面文件中的数据大容量插入表A,然后使用各种子字符串命令将数据解析到表B中。
表A在47分钟内包含470万行和负载,为了测试目的,我分割出100万行,这个加载在10分钟内完
我已经在一个相当简单的EF 4.1代码优先模型上创建了一个WCF数据服务。对于每个请求,我必须提供一个客户端in来维护我的多租户数据库中的数据隔离。我看到了糟糕的性能,在运行sql server跟踪之后,我发现所有参数化查询都使用子查询,如下所示。
select top 100 <This is because of paging>
colA,
colB,
colC
from (select colA, colB, colC
from table
where clientid = 12345)
orderby .....
有没有办法调整它,使其跳过sele
使用Microsoft SQL server 2005,是否可以将多个物理服务器的处理能力组合到单个逻辑sql服务器中?在SQL Server 2008上是否可以这样做?
我在想,如果数据库文件位于SAN上,并且以某种方式其中一台sql服务器充当了一种主服务器,那么处理可以分布在多个物理服务器上,例如,甚至允许在没有重叠的情况下同时更新,并且在对未锁定的表进行只读查询的情况下没有限制。
我们有一个受sql服务器速度限制的应用程序,目前可能只能使用服务器2005。是获得一台功能更强大的物理服务器的唯一选择吗?
对不起,我不是专家,我不确定这个问题是不是很愚蠢。
提亚
您好,我在SQL Server CE上尝试了一个包含左外部联接的select查询,它需要大约30秒才能执行。
然后,我将相同的查询更改为内部连接,所用时间不到1秒。
同样的外部查询在SQL server2008上非常快。
有人知道这是为什么吗?
另外,这个性能问题的修复方法是什么?
我正在考虑2个查询,我联合起来,但我不喜欢这个解决方案,真的导致代码重复。
谢谢
编辑:
另一个性能较差的查询是select * from table where item not in (select item from table2)
真的很奇怪,但是这个查询需要更改为left outer join,所以性能是
我正在更改实体框架的旧ADO.Net方式。我的Products类由大约20个表组成(其中3个表到目前为止已合并成单个类),也有5个Product表,因此我将Products抽象,每个类型都有自己的类,使用Entity使用表每种类型方法提供的可爱继承,如下所示。因此,实际上,一个产品类上有3个表和5个产品类型表,每个表都有自己的产品类。
<there was a screenshot here, I don't have the rep to post it though!>
我一直在关注这个EDM在SQL Server Profiler的掩护下在做什么,因为我一直在工作。当
SQL server2008 r2的交叉联接查询执行速度较慢。它在我们的系统中制造了太多的问题。Sql server 2012上的迁移能否解决交叉连接问题。早些时候,我们使用的是sql 2005,而我们没有这样的问题。但我们现在不能搬回去。我不知道这能不能解决我的问题。在执行交叉连接查询方面,2012年的性能比2008年的r2更好吗?
select '37' as orddate,brand from maindb1.dbo.contract_report where jobnumber in (select distinct [Job Number] from ma