【SAP】学习笔记-内表

内表概要

- 内表是可以在程序内部定义并且使用的表,属于本地表。如下图展示出了参照数据库表sflight定义的内表的结构

- 内表与数据库表区别 内表和数据库表的很大区别在于:数据库表中存放的数据是永久的;而内表是动态数组,内表中存放的数据是临时的,只有当执行程序时才会占用内存,程序关闭时即释放内存。内表可以包含的数据件数为内存大小所限制。

- 内表的作用 一般来说针对数据库表中数据的操作,都要首先将数据库表中数据输出到内表中,再通过内表对数据进行处理,最后再更新回数据库表中,在这过程中,内表相当于起到一个中间桥梁的作用,极大地保护了数据库表中数据的安全性。

内表的分类

在SAP ABAP中内表有三种类型,它们分别是标准表,排序表以及哈希表,下面将依次介绍三种表 - 标准表 标准表是有顺次索引的树型结构内表,是利用索引查找内表行数据时易于使用的内表类型。标准表的关键字并非唯一,即标准表中不能使用WITH UNIQUE语句,只能使用WITH NON-UNIQUE语句。

- 排序表 排序表是已经按照关键字排序好的内表类型,其拥有索引,也拥有关键字,可以通过索引或者关键字查询对应的行数据。与标准表不同,排序表可使用WITH UNIQUE语句且自带BINARY SEARCH(二分查找)功能。又因为排序表已经排序,所以使用SORT语句会报错。

- 哈希表 哈希表没有顺次索引,只能用哈希值计算出的KEY值进行检索,哈希值用于直接读取哈希算法算出的内存地址中存储的数据。哈希表一定要使用WITH UNIQUE语句指定关键字。

不同内表速度比较及适用场景

为了更加直观地展现三种内表的速度和适用场景,将其制作成比较表展现如下:

语句

标准表

排序表

哈希表

READ语句速度比较

速度慢

速度快

速度最快

APPEND语句速度比较

速度快

速度最慢

速度慢

用索引访问(INDEX Access)

不是

用关键字访问(KEY Access)

关键字(KEY VALUES)

不唯一

唯一或者不唯一

唯一

建议使用的访问方法

索引访问

关键字访问

只能使用关键字访问

文章源地址:SAP ABAP——内表(一)【内表概要介绍】-腾讯云开发者社区-腾讯云 (tencent.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值