小编Yun*_*NIK的帖子

SQL 空闲空间管理

我有 1.8TB AX 数据库。

文件大小:1851427.75 MB

可用空间:502837.13 MB

如果以后要使用空闲空间,我不想缩小。因为需要很长时间。(和索引碎片)

每日观察结果:

  1. 天可用空间 492.435,75 MB (26%)
  2. 天可用空间 485.750,25 MB (26%)
  3. 一天 可用空间 502.875,75 MB (27%)

有时可用空间减少,有时数据文件大小增加。

为什么有可用空间时会增长,SQL如何决定?

sql-server

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

为什么 MSSQL 在执行计划中选择扫描?

这是我的查询(这是一个 Microsoft Axapta 查询):

(@P1 bigint)
SELECT TOP 1 T1.JOURNALNUM,T1.LINENUM,T1.ACCOUNTTYPE,T1.COMPANY,T1.TXT,
T1.AMOUNTCURDEBIT,T1.CURRENCYCODE,T1.EXCHRATE,T1.TAXGROUP,
T1.CASHDISCPERCENT,T1.QTY,T1.BANKNEGINSTRECIPIENTNAME,
-- *Snipped lots of columns in T1* --
T1.MODIFIEDDATETIME,T1.RECVERSION,T1.PARTITION,T1.RECID 
FROM LEDGERJOURNALTRANS T1 
WHERE (((PARTITION=123123123) AND (DATAAREAID=N'test')) AND (REVRECID=@P1))
Run Code Online (Sandbox Code Playgroud)

当前执行计划:

在此处输入图片说明

当前计划

实际上,表上有一个合适的索引。

索引列:(PARTITION,DATAAREAID,REVRECID)

碎片化: 在此处输入图片说明

我试过索引力。这个执行计划(索引查找+键查找)比执行计划(索引扫描)要快:

力指数计划

在此处输入图片说明

在此处输入图片说明

我试图:

  • 更新统计

  • 更改了列顺序,例如 (REVRECID,PARTITION,DATAAREAID)

MSSQL 为什么选择聚集索引?

index sql-server execution-plan

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

标签 统计

sql-server ×2

execution-plan ×1

index ×1