明细分类账查询慢的原因及解决办法原创
83人赞赏了该文章
351次浏览
编辑于2024年04月12日 17:41:01
明细分类账查询如果发现越来越慢,那原因很可能是相关表碎片量大,索引效率低引起的。
可能定期检查以下明细分类账相关表的碎片情况,如果结果中扫描密码低于90%,建议执行索引重建脚本来优化索引性能。具体如下:
1,明细账涉及的表:
明细数据来源表:
T_GL_VOUCHER T_GL_VOUCHERENTRY
余额数据来源表:
T_GL_BALANCE T_GL_BALANCEADJUST
核算维度数据来源表,可以通过下面的SQL语句查询到:
SELECT PL.FNAME,L.FTABLENAME FROM (SELECT FTABLENAME,FFORMID FROM T_META_LOOKUPCLASS UNION SELECT 'T_BAS_ASSISTANTDATAENTRY',FID FROM T_BAS_ASSISTANTDATAENTRY ) L JOIN T_BD_FLEXITEMPROPERTY P ON P.FVALUESOURCE=L.FFORMID LEFT JOIN T_BD_FLEXITEMPROPERTY_L PL ON PL.FID=P.FID AND PL.FLOCALEID=2052 ORDER BY p.FFLEXNUMBER
如下图所示:
2,检查相关表的碎片情况,以T_GL_BALANCE表为例(下同),可以执行以下脚本:
dbcc showcontig(T_GL_BALANCE)
如下图所示:
上图上扫描密度为30%左右,明显偏低,推荐值为90%,因此,该表的查询索引性能偏低,需要进行索引重建,以恢复索引最佳性能。
3,对指定表做索引重建的语句如下:
Alter index all on T_GL_BALANCE rebuild;
执行后对比碎片情况如下:
其它相关表也可以进行类似的查询,当打描密码值偏低时就进行索引重建。
这样操作一遍之后,明细分类账的查询性能应该会有明显提高,如果效果不明显,那可能还有其它影响查询性能的原因存在,可以继续进行针对性的分析,相关话题将在其它文章中探讨。
赞 83
83人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读