U872-结算成本处理步骤及索引处理
U872每月都须要做月结,对于制造企业来说,结算成本处理是不可缺少的一个处理环节,每次查询出来待暂估记录也比較多(我接触到的有3万左右),暂估时间一般要2-3小时左右,若调用的大表索引碎片多时,会须要更长的时间,先看一下处理过程调用的主要步骤及脚本有哪些:
第一步:取存货模块的最新会计期间
第二步:取入库单明细账记录
第三步:取存货总账表记录
第四步:取採购结算单主从档记录
第五步:取存货明细表记录
第六步:新增存货明细账记录
第七步:取存货档案的核算自由项
第八步:写总账
注:数量是负数
第九步:反复运行第六步的脚本
第十步:写总账
<span style="font-size:12px;">Exec IA_WriSummary 按仓库核算,2,6, N'07', N'021299000098', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'',20,21.54,0,0,0,0</span>
注:数量为正数
结算成本处理涉及到的大表有 出入库明细表rdrecords。总账明细表ia_subsidiary,採购结算单明细表PurBillVouchs
若要保证暂估的速度,须要对优化处理:
第一步:临时禁用SQL代理中的一些计划任务。如备份、同步等
第二步:点【暂估】button前。一定要对rdrecords,Ia_Summary ,ia_subsidiary,PurBillVouchs,Inventory,Ia_Summary 重建或整理索引,索引碎片能够用dbo.fn_ShowIndexSP函数,重建索引能够用Dyl_ReindexNew过程
第三步:检查这些表的索引的碎片是否已所有在10下面。若是表示所有整理成功!
能够做结算成本处理的暂估操作了。
/*
功能:显示指定表的索引碎片
创建人:baronyang
创建时间:2014-07-02
select * from dbo.fn_ShowIndexSP('')
*/
Alter function dbo.fn_ShowIndexSP
(
@tablename varchar(255)
)
returns @table table (tablename varchar(255),indexname varchar(255),spbl int)
as
BEGIN
DECLARE @dbid int,@objid int
select @dbid=DB_ID(),@objid=OBJECT_ID(@tablename)
insert into @table (tablename,indexname,spbl)
SELECT c.name,b.name,avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats(@dbid,@objid,NULL,NULL,NULL) as a
inner JOIN sys.indexes b on a.object_id=b.object_id and a.index_id=b.index_id
inner JOIN sys.objects c on a.object_id=c.object_id
where b.index_id>0 and avg_fragmentation_in_percent>=1
return
end
/*
功能:重建整理
创建人:baronyang
创建时间:2014-07-02
exec Dyl_ReindexNew 'KQ_OtherData'
select * from dbo.fn_showindexsp('KQ_OtherData')
*/
Alter procedure dbo.Dyl_ReindexNew
@TableName varchar(255),
@indexname varchar(255)=''
as
set nocount on declare @dbid int,@objid int,@sql varchar(1000)
select @dbid=DB_ID(),@objid=isnull(OBJECT_ID(@TableName),0)
if @objid=0
BEGIN
print @TableName+'表不存在'
return
End
IF Exists(SELECT * FROM sys.dm_db_index_physical_stats(@dbid,@objid,NULL,NULL,NULL)
where avg_fragmentation_in_percent>30 and index_id>0
) and @objid>0
BEGIN
set @sql='alter index '+case when isnull(@indexname,'')<>'' THEN @indexname else 'all' END
+' on '+@TableName+' rebuild WITH(online=on,STATISTICS_NORECOMPUTE=ON)'
exec (@SQL)
End IF Exists(SELECT * FROM sys.dm_db_index_physical_stats(@dbid,@objid,NULL,NULL,NULL)
where avg_fragmentation_in_percent>30 and index_id>0 and @objid>0
)
print @TableName+'表索引碎片还是超过30。请手动重建索引'
U872-结算成本处理步骤及索引处理的更多相关文章
- 使用SQL Server 2000索引视图提高性能
什么是索引视图? 许多年来,Microsoft? SQL Server? 一直都提供创建虚拟表(称为视图)的功能.在过去,这些视图主要有两种用途: 提供安全机制,将用户限制在一个或多个基表中的数据的某 ...
- Mysql 索引原理及优化
本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接. 一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引 ...
- SD从零开始47-50, 装运成本基础、控制、结算, 信用/风险管理概述
[原创] SD从零开始47 装运成本基础 详细的装运成本处理Shipment Cost Processing in Detail 装运成本计算和装运成本结算可用于内向和外向交货: 装运成本记录在一张新 ...
- (转)Mysql 索引原理及优化
本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接. 一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引 ...
- SQL Server 索引知识-应用,维护
创建聚集索引 a索引键最好唯一(如果不唯一会隐形建立uniquier列(4字节)确保唯一,也就是这列都会复制到所有非聚集索引中) b聚集索引列所占空间应尽量小(否则也会使非聚集索引的空间变大) c聚集 ...
- SQL Server 查询优化 索引的结构与分类
一.索引的结构 关系型数据库中以二维表来表达关系模型,表中的数据以页的形式存储在磁盘上,在SQL SERVER中,数据页是磁盘上8k的连续空间,那么,一个表的所有数据页在磁盘上是如何组织的呢?分两种情 ...
- sql server 索引总结三
一.非聚集索引维护 非聚集索引的行定位器值保持相同的聚集索引值,即使该聚集索引列物理上重新定位后,也是如此. 为了优化这个维护开销,SQL Server添加一个指向旧数据页的指针,以在页面分割之后指向 ...
- SQLServer存储引擎——06.索引的遍历与维护
一.遍历 索引树的每个节点都是一个页面. 索引树有三种类型的节点:根节点.中间节点.叶子节点. (1) 根节点与中间节点一样,只包含下一层节点的入口值与入口指针,它们称为索引节点: (2) 叶子节点包 ...
- 为何在查询中索引未被使用 (Doc ID 1549181.1)
To Bottom * 为何在查询中索引未被使用 (Doc ID 1549181.1) To Bottom 文档内容 用途 排错步骤 高速检查 表上是否存在索引? 索引是否应该 ...
随机推荐
- java基础学习总结——对象转型
一.对象转型介绍 对象转型分为两种:一种叫向上转型(父类对象的引用或者叫基类对象的引用指向子类对象,这就是向上转型),另一种叫向下转型.转型的意思是:如把float类型转成int类型,把double类 ...
- Big Number------HDOJ杭电1212(大数运算)
Problem Description As we know, Big Number is always troublesome. But it's really important in our A ...
- [翻译] RBBAnimation,让你使用关键帧动画更便利
RBBAnimation RBBAnimation is a subclass of CAKeyframeAnimation that allows you to declare your anima ...
- java jxl excel 导入导出的 总结(建立超链接,以及目录sheet的索引)
最近项目要一个批量导出功能,而且要生成一个单独的sheet页,最后后面所有sheet的索引,并且可以点击进入连接.网上搜索了一下,找到一个方法,同时把相关的excel导入导出操作记录一下!以便以后使用 ...
- mybatis查询时间段sql语句
转载自:http://blog.csdn.net/zl544434558/article/details/24428307?utm_source=tuicool&utm_medium=refe ...
- Android系统file_contexts二进制与文本转换工具
#ifdef _WIN32 #define __USE_MINGW_ANSI_STDIO 1 #endif #include <stdio.h> #include <stdlib.h ...
- waf bypass
1.前言 去年到现在就一直有人希望我出一篇关于waf绕过的文章,我觉得这种老生常谈的话题也没什么可写的.很多人一遇到waf就发懵,不知如何是好,能搜到的各种姿势也是然并卵.但是积累姿势的过程也是迭代的 ...
- go语言基础之切片的创建和截取
1.切片的创建 示例: package main //必须有个main包 import "fmt" func main() { //切片和数组的区别 //数组[]里面的长度时固定的 ...
- JQuery缓冲加载图片插件lazyload.js的使用方法
lazyload.js是一个基于JQuery的插件,可以用来缓冲加载图片.如果一个网页很长并且有很多图片的话,下载图片就需要很多时间,那么就会影响整个网页的加载速度,而这款延迟加载插件,会通过你的滚动 ...
- C# 的三种序列化方法
序列化是将一个对象转换成字节流以达到将其长期保存在内存.数据库或文件中的处理过程.它的主要目的是保存对象的状态以便以后需要的时候使用.与其相反的过程叫做反序列化. 序列化一个对象 为了序列化一个对象, ...