当前位置:主页 > 云主机 > 正文

金山云_服务器登录_哪家好

时间:2021-05-03 16:59 来源:埃里克云 编辑:埃里克云

核心提示

我还没有找到一篇文章能够充分描述ASE中文本数据的存储,特别是在高效存储数据方面。所以,这是我最近处理的一个例子,在收到关于ASE中相对少量的文本占用了大量空间的投诉之...

金山云_服务器登录_哪家好

我还没有找到一篇文章能够充分描述ASE中文本数据的存储,特别是在高效存储数据方面。所以,这是我最近处理的一个例子,在收到关于ASE中相对少量的文本占用了大量空间的投诉之后。 在本例中,我们将使用一个7.81GB的表,将其减少到798MB,然后将其减少到487MB。这些步骤说明了如何减少文本数据的存储。 LOB(文本和图像)数据压缩没有很好的文档记录。在ASE中实际上有两个可用的东西。第一件事叫做行存储。第二件事叫做数据压缩,我称之为行内存储的"增强"。所有这些都没有记录在案。这两个特性在过去几年中被添加到ASE中。要弄清这一点,您必须搜索9000页的ASE文档。行内存储

行内存储

此功能将LOB数据从索引页移动到数据页。默认情况下,LOB数据存储在称为行外存储的索引页中,每个索引页一行。因此,如果您有一个包含文本数据的1000000行表,那么您将有1000000个文本数据索引页。即使实际文本是1字节,也会在磁盘上为它保留一个完整的索引页。这是对磁盘空间的难以置信的浪费。相比之下,行内存储会将尽可能多的数据打包到数据页中。 我觉得称之为"索引"页面有点奇怪。它实际上是一个"行外LOB页"。但我怀疑ASE工程师可能已经用"数据"和"索引"两种页面对数据服务器进行了编码,也许添加第三种页面可能是一项艰巨的任务。也许 吧。 我们的数据服务器页面大小是8192字节。对于1000000行,这将是8GB左右。下面是一个例子。我添加了额外的证据来验证磁盘空间,因为我无法识别效果:

好的,一个表是用文本数据类型创建的,我们已经加载了1000000行。让我们看看"before"的大小。

在最后一个查询中,您可以清楚地看到空间的使用情况。文本数据使用7.812GB的存储空间!几乎没有那么多的文本数据。实际上,jsonMessage文本的平均长度是755字节。实际上,1000000行数据的大小应该在755MB左右。好的,让我们把文本数据移到行内存储。为此,必须估计行内LOB列的字节数。范围是0到数据库的逻辑页大小。

由于开销,行大小实际上是8108字节。减去messageId(4字节),jsonMessage可以是8108-4=8104。好吧,让它变成8000平。这是一个行内数据页可以容纳的json文本的最大数量。如果json文本超过8000字节,它将保留在行外索引页存储中。如果json文本很小,那么在分配下一个数据页之前,一堆json文本可以放入一个数据页,最多8000字节。 现在我们将修改列以具有行内存储,并将数据从行外迁移到行内。如果您从下面的alter table命令中得到警告,则降低数值。

对表执行sp\u帮助,将输出的length列中的数据类型长度相加,然后从8108中减去。也就是在计算完所有列之后,一个数据页上有多少字节是空闲的。

sp\u spaceusage查询显示798MB。sp_helpdb查询显示我们释放了6.9GB((5120-165)+(10240-7461))–((5120-4392)+(10240-10144))。耶!成功了。使用了一点点索引存储。我不确定这是什么,因为json文本消息的最大值是955字节,我们允许8000字节的行存储。我怀疑这是必要的,因为文本数据是模式的一部分,行外存储仍然可以用于大于8000字节的超大文本。 由于行内存储,我们还在表模式中看到了一些额外的内容。现在在模式定义中有两个额外的列用于行内存储和对象存储。

现在的问题是,插入新行时,行内行为是否仍然存在?让我们再插入1000000行试试。

耶!jsonMessage列永远在第行中。让我们看看一个全新的表是否可以用于行内存储,而不必从行外迁移到行内:

好的。行内存储适用于在文本列上使用"行内"设置创建的表。

默认情况下,您也可以使用alter database命令的inrow\U lob\U length参数强制行内存储。

很好。现在,在创建表时,您甚至不需要使用"in row(8000)"东西,除非您需要8000以外的东西。

数据压缩

关于LOB数据和压缩,首先要知道的是,无论您如何努力,行外LOB数据都不会被压缩。只有在设置inrow\u LOB\u length数据库选项时,行内LOB数据才会被压缩。这完全是无证的。您可能认为您正在压缩文本数据,但除非数据库设置中包含此特定选项,否则您不会这样做。所以让我们压缩行中的LOB数据,看看它是否比未压缩的好。在我看来,我们已经从798MB的行内压缩,下降到487MB的行内压缩。尺寸减少了39%。不错。

  • 微软云_美国服务器视频网站_优惠 微软云_美国服务器视频网站_优惠

    随着英国管理脱欧后贸易的能力被置于显微镜下,全球与大萧条时代的经济状况和保护主义的比较也是如此。我早就该深入研究那个时代的经济写作了。比较的要点是惊人的。 凯恩斯...

  • 微软云_亚马逊云计算平台_免费领 微软云_亚马逊云计算平台_免费领

    考虑到即使是英国财政大臣也只"认为自己知道"首相的脱欧想法,尽管议会强烈希望避免"无协议",但很可能会出现依赖世界贸易组织(wto)关税的必要性。在英国受影响最严重的行业...

  • <strong>CDN_存储服务器搭建_最新活动</strong> CDN_存储服务器搭建_最新活动

    jstat是一个简单的实用工具,它存在于JDK中,用于提供与JVM性能相关的统计信息,如垃圾收集、编译活动等。jstat的主要优势在于它能够在JVM运行时动态捕获这些指标,而无需任何必要...

  • <strong>金山云_数据库高级_安全稳定</strong> 金山云_数据库高级_安全稳定

    在这个简短的教程中,我们将构建一个SAP分析云,分析应用程序幻灯片控制器。应用程序显示在大屏幕上,人们可以通过蓝牙与之交互,通过无线设备播放幻灯片。 让我们准备我们需...

  • <strong>中间件_华为云照片在哪找到_免费领</strong> 中间件_华为云照片在哪找到_免费领

    在saps/4hanaplm中,作为简化的一部分,在高级搜索中从搜索参数中提取了许多字段。例如,在标签预先搜索或有效性区域基于标签语言进行搜索。 为了适应这些搜索,我们需要增强搜索...

  • <strong>京东云_腾讯云服务器报价_稳定性好</strong> 京东云_腾讯云服务器报价_稳定性好

    在这个博客里,我将解释在一个标准OWL屏幕中添加超链接以使用extensibility explorer导航到另一个标准业务对象的TI屏幕所需的步骤。 在本例中,我将提供添加超链接以从Sales Quote OWL屏幕...

  • <strong>数据库服务器_华为云存储怎么清理_限时</strong> 数据库服务器_华为云存储怎么清理_限时

    简介: 我得到了从应用服务器读取数据到内部表并下载到演示服务器的要求。 首先我们应该知道如何将内部表数据上传到应用服务器,从那里如何读取应用服务器数据并下载到演示服...

  • <strong>游戏服务器_虚拟主机试用30天_免费领</strong> 游戏服务器_虚拟主机试用30天_免费领

    本系列的第一部分旨在提高对设计一致性重要性的认识。在第二部分中,我提供了更多的背景知识,阐述了一致性对设计和潜在心理过程的影响。第三部分是关于视觉一致性和功能一...

  • <strong>天翼云_云主机windows_速度快</strong> 天翼云_云主机windows_速度快

    因为我第二次看到这个问题,所以我想把这个问题和解决方案一起作为一个博客发布。 一个开发人员发布了一个使用服务绑定的OData服务,并希望使用简单列表报告Fiori应用程序的预览...