ABAP 辨析 标准表|排序表|哈希表

news/2024/7/23 23:48:21 标签: ABAP, 内表

1、文档介绍

本文档将介绍内表的区别和用法,涉及标准表、排序表、哈希表

2、用法与区别

2.1、内表种类

内表顶层为任意表,任意表分为索引表和哈希表,索引表又可分为标准表和排序表,结构如图:

2.2、内表用法

2.2.1、标准表

说明:标准表的每一行会有一个逻辑索引,查找数据时,可以通过关键字或索引进行查找;添加数据时,可通过索引添加到具体位置,也可以默认添加到最后

对表进行插入、删除等操作时,各数据行在内存中的位置不变,系统仅重新排列各数据行的索引值。

语法:STANDARD TABLE,现在ABAP版本可以省略STANDARD 关键字,默认定义的内表即为标准表

DATA:lt_ekpo TYPE STANDARD TABLE OF ty_ekpo.

定义关键字段:默认为本行非数字,非内表的字段为关键字。

       还可以通过语法:WITH NON-UNIQUE KEY ebeln ebelp.定义关键字(非必要)

DATA:lt_ekpo TYPE STANDARD TABLE OF ty_ekpo WITH NON-UNIQUE KEY ebeln ebelp.

         NON-UNIQUE | UNIQUE :(非特有|特有)代表内表中定义的关键字的数据行是否能重复出现,UNIQUE代表相同关键字字段的行不能重复出现。

       因为标准表允许出现重复数据,因此,标准表中不允许使用UNIQUE KEY。

读取效率:消耗时间随表行数呈线性增长。

2.2.2、排序表

说明:每行数据也具有一个逻辑索引,并且总是按其关键字升序排序后再进行存储,其访问方式与标准表相同。   

语法:SORTED TABLE

DATA:lt_sort TYPE SORTED TABLE OF ty_ekpo WITH NON-UNIQUE KEY ebeln ebelp.

定义关键字段:可使用NON-UNIQUE | UNIQUE

读取效率:系统使用二分法查找,消耗时间随表行数呈对数级增长。

2.2.3、哈希表

说明:没有索引,只能通过关键字来访问。

语法:HASHED TABLE

DATA:lt_hash TYPE HASHED TABLE OF ty_ekpo WITH UNIQUE KEY ebeln ebelp.

定义关键字段:哈希表关键字对应的行不允许重复,因此只能使用UNIQUE

读取效率:系统用哈希算法管理表中的数据,因此查询一行数据的时间和表的行数无关。

2.2.4、访问方式

 根据数据预计的行数和访问频率,来决定使用什么类型的内表

1、数据量少于100行,很少使用关键字操作,使用标准表没效率问题;

2、运行期间必须以某种排序形式出现的内表,使用排序表;

3、数据量较大,且不存在重复行,只需要使用关键字访问的内表,则定义哈希表;


http://www.niftyadmin.cn/n/110640.html

相关文章

各级公安DNA实验室设计方案大全

公安DNA实验室是为了配合刑事侦查和司法鉴定需要,开展DNA样本采集、提取、分析等工作的专门实验室。SICOLAB喜格分享各等级公安DNA实验室的设计标准配置:三级公安DNA实验室标准配置:(1)实验室面积:不少于20…

对账平台设计

背景 随着公司业务的蓬勃发展,交易履约清结算业务的复杂性也在不断的增高,资金以及各种数据的一致性和准确性也变得越发重要。 以交易链路为例,存在着如下一些潜在的不一致场景: 订单支付成功了,但是订单状态却还是“…

服务端开发之Java备战秋招面试篇5

努力了那么多年,回头一望,几乎全是漫长的挫折和煎熬。对于大多数人的一生来说,顺风顺水只是偶尔,挫折、不堪、焦虑和迷茫才是主旋律。我们登上并非我们所选择的舞台,演出并非我们所选择的剧本。继续加油吧! 目录 1.ArrayList与LinkedList区别, 应用场景…

3.1.1 表的相关设计

文章目录1.表中实体与实体对应的关系2.实际案例分析3.表的实际创建4.总结1.表中实体与实体对应的关系 一对多 如一个班级对应多名学生,一个客户拥有多个订单等这种类型表的建表要遵循主外键关系原则,即在从表创建一个字段,此字段作为外键指向…

Web前端:四大Web应用开发趋势和技术

就像其他行业一样,web应用程序开发每年都会经历巨大的变化。就像人们说的,变化是技术中唯一不变的东西。因此,我们这里有一些你可以期待的市场变化。Web应用开发趋势和技术1.市场对聊天机器人和人工智能寄予厚望已经说过很多次,也…

线性代数——向量

线性代数 一、何为线性代数 persevering multiplicationpersevering addition 二、向量 1, 一堆数字的集合 |1|v |2||3|v11,v22,v332,向量集合 |1| |4| |7|{|2|, |5|, |8|}|3| |6| |9|3,scalar Multiplication 向量可以乘上scalar |cv1|cv |cv2||cv3|4,vec…

考研机试 | C++ | 王道复试班 | map专场

目录关于map查找学生信息(清华上机)题目代码:魔咒词典(浙大机试)题目:代码英语复试常用话题关于map map的一些基本操作: 判空 :map.empty()键值对的个数: map.size()插入…

Grafana邮件及告警配置

之前部署过服务器的监控组件程序,本在部署时也进行邮件及告警配置,但未进行文档整理,在这儿进行展示。之前用过Grafana的7.*的版本,在进行邮件配置还比较OK,但在配置告警时,太繁琐,还要自己去写…