我有 1.8TB AX 数据库。
文件大小:1851427.75 MB
可用空间:502837.13 MB
如果以后要使用空闲空间,我不想缩小。因为需要很长时间。(和索引碎片)
每日观察结果:
有时可用空间减少,有时数据文件大小增加。
为什么有可用空间时会增长,SQL如何决定?
这是我的查询(这是一个 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 为什么选择聚集索引?