对于搜索功能,我使用的视图包含我需要搜索的所有表中的记录。该视图有近 2000 万条记录。针对这种观点的搜索花费了太多时间。
我应该在哪里寻找改善此视图的性能?
视图的粗略定义如下。它包括十三张桌子和大约三十个字段。
CREATE VIEW [dbo].[v_AllForSearch]
AS
SELECT
FT.firstField AS [firstField]
, FT.fld_primary AS [fld_primary]
, FT.fld_thirdField AS [thirdField]
, FT.fld_fourthField AS [fourthField]
, ISNULL(ST.[fld_firstSearchField],'') AS [firstSearchField]
, ISNULL(TT.[fld_thirdSearch],'') AS thirdSearch
, ISNULL(TT.[fld_fourthSearch],'')AS fourthSearch
, ISNULL(TT.[fld_fifthSearch],'')AS fifthSearch
, ISNULL(FRT.[fld_sixthSearch],'') As [sixthSearch]
, ISNULL(FRT.[fld_seventhSearch],'') AS [seventhSearch]
, ISNULL(FRT.[fld_eightSearch],'')AS [eightSearch]
, ISNULL(FIT.[fld_nineSearch],'') AS [nineSearch]
, ISNULL(SIT.[fld_tenthSearch],'')AS [tenthSearch]
, ISNULL(SET.[fld_eleventhSearch],'') AS [eleventhSearch]
, ISNULL(ET.[twelthSearch],'')AS [twelthSearch]
, ISNULL(NT.[thirteenthSearch],'')AS [thirteenthSearch]
, ISNULL(NT.[fourteenSearch],'') AS [fourteenSearch]
, ISNULL(NT.[fifteenSearch],'') AS [fifteenSearch]
, ISNULL(NT.[sxteenSearch],'') AS [sxteenSearch]
, …Run Code Online (Sandbox Code Playgroud) SentryOne Plan Explorer是否像宣传的那样工作,是否合法?有什么问题或需要担心的事情吗?
与 SSMS 对估计执行计划视图的噩梦相比,它似乎以颜色显示了热路径。
我担心的是 - 它是否恶意或以其他方式修改任何数据?
编辑:我刚刚听说过它,以前从未听说过这家公司。
performance sql-server optimization execution-plan query-performance
每当我在 SQL Server Management Studio 2008(数据库是 SQL Server 2005)的表中手动插入一行时,我的新行就会出现在列表的顶部而不是底部。我正在使用身份列,这会导致诸如
id row
42 first row
1 second row
2 third row
Run Code Online (Sandbox Code Playgroud)
当获取行且未明确排序时。当为 Web 应用提取行并更改TOP 1查询返回的内容时,这会导致不同的外观。
我知道我可以order by,但为什么会发生这种情况?我的大部分数据都是通过 Web 应用程序插入的,从该应用程序插入的所有数据都按照先进先出的顺序进行,例如,最新的插入位于底部,因此 ID 都在一行中。服务器或 Management Studio 中是否有某些设置会导致这种不正确的排序?
我有一个电子邮件应用程序,它将被要求在每个页面加载时将给定用户的新消息数量传送到 UI。我在数据库级别上测试了一些变化,但所有内容都由存储的 proc 调用抽象。
我试图猛击数据库以查看断点(每秒请求数)是什么。
简而言之,我有一个表,比如这个 userId、newMsgCount,在 userId 上有一个聚集索引。SQL 应该能够每秒处理成百上千个这样的响应。我认为落后者是我的 .NET 应用程序。
我怎样才能使这个测试成为一个很好的测试来实现基于 SQL 性能的测试结果?
有没有一个工具,我可以给它一个存储的过程名称和参数,以便它打我的数据库?
我想看看数据库是否可以返回分钟。每秒 250 个响应。
performance sql-server testing scalability performance-testing
当我执行以下命令时(在管理工作室中,GO 会将命令分成批处理)
use tempdb
begin tran
go
CREATE TYPE dbo.IntIntSet AS TABLE(
Value0 Int NOT NULL,
Value1 Int NOT NULL
)
go
declare @myPK dbo.IntIntSet;
go
rollback
Run Code Online (Sandbox Code Playgroud)
我收到一条死锁错误消息。我的过程已经陷入僵局。我在 2008、2008R2 和 2012 中看到过这种行为。
有没有办法在它创建的同一个事务中使用我新创建的类型?
我有一个将 BlockOnPossibleDataLoss 设置为 false 的 dacpac,但是当我使用 sqlpackage.exe 运行它时部署被阻止,告诉我“列 [a] 被删除,可能会发生数据丢失。”
但是,当我使用完全相同的部署配置文件并从 Visual Studio 2012 发布时,它会通过。
sql-server sql-server-2012 ssdt visual-studio-2012 data-tier-application
我们正在尝试使用 Bitlocker 来保护 SQL Server 2012 数据库。我们没有任何问题让 bitlocker 工作......我们遇到的问题是一旦驱动器被锁定,SQL Server 就无法再读取数据。
显然,我们很想使用 TDE,但由于它仅限于企业版,因此不能使用。我们在服务器上激活了 TPM。这是在 Windows 域中,我们使用 Windows 身份验证......但是一旦驱动器被加密,我们就无法使用任何东西访问数据库。
我在这里缺少什么?
系统视图sys.partitions有一列“行”,它是给定分区中的总行数。对于未分区的表(或只有一个分区,取决于您如何看待它),此列给出了表中的行数。
我很好奇这个列有多准确,我是否可以用它代替SELECT COUNT(1) FROM TableName. 我做了一些实验,创建一个表并添加几千行,删除几百行,再添加几千行等等,而且计数一直都在。但是,我有一张包含大约 7 亿行和几个索引的表。sys.partitions聚集索引的行再次失效,但是其他索引显示出一些细微的变化 (+-20k)。
有谁知道这一行是如何计算的,以及它是否像看起来一样准确?
sql-server sql-server-2008-r2 partitioning count sql-server-2012
目前,DBCC FREEPROCCACHE当我想在运行 SQL 查询之间从缓冲池中清除信息时,我会运行。但是,我正在查看这篇Technet 文章,其中引用了DBCC FREESYSTEMCACHE. 哪些缓存会FREESYSTEMCACHE擦除而FREEPROCCACHE不会?
在我们的数据库中存在一个大表,或多或少是这样的:
CREATE TABLE dbo.production_data
(
pd_id BIGINT PRIMARY KEY,
serial NVARCHAR(16) NOT NULL UNIQUE,
...
);
Run Code Online (Sandbox Code Playgroud)
但是现在串行字段的大小变得很小,所以我想将其更改为 32。Visual Studio 模式比较工具建议通过以下方式执行此操作:
DROP INDEX ux_production_data_serial ON dbo.production_data;
GO
ALTER TABLE dbo.production_data ALTER COLUMN serial NVARCHAR(32) NOT NULL;
GO
CREATE INDEX ux_production_data_serial ON dbo.production_data(serial ASC);
Run Code Online (Sandbox Code Playgroud)
这真的需要吗?或者更像是这样做的超级保存方式?
另外在重新创建唯一索引时,我的表会被锁定吗?因为这将是一个大问题(因为该表有 3000 万行,我猜重新创建索引需要相当长的时间),因为下一个维护窗口是未来几个月。我的选择是什么?
sql-server ×10
index ×2
optimization ×2
performance ×2
alter-table ×1
cache ×1
count ×1
deadlock ×1
identity ×1
locking ×1
partitioning ×1
scalability ×1
ssdt ×1
ssms ×1
testing ×1
view ×1