GBase 8s内置数据类型—大对象数据类型

2023-11-19

 大对象数据类型

大对象数据类型已定义表与大对象存储分开大对象是逻辑存储在表列中但物理存储与列无关的数据对象。大对象是独立于表存储的,因为它们通常存储大量的数据。将此数据与表分开可提高性能。

大对象分为简单大对象和智能大对象,简单大对象又分为BYTE和TEXT,智能大对象又分为BLOB和CLOB

只有GBase 8s支特BLOB和CLOB数据类型。

1.简单大对象

简单大对象是具有理论大小限制2^31个字节和磁盘容量确定的实际限制的大对象类别。GBase 8s支持以下简单大对象数据类型:

1.1 BYTE

存储二进制数据,BYTE数据类型以无差别字节流的形式存储任何种类的二进制数据。二进制数据通常由数字化的信息(如电子表格、程序装入模块和数字化声音模式等等)组成。

BYTE数据类型不具有最大大小。BYTE列具有2^31个字节的理论限制和磁盘容量确定的实际限制。可以存储、检索、更新或刪除BYTE列的内容。但是,不能在算术或字符串运算中使用BYTE操作数,也不能使用UPDATE 语句的SET子句将文字指定给BYTE列。也不能通过以下任何方法使用BYTE项:

  • 使用聚集函数。
  • 使用IN子句。
  • 使用MATCHES或LIKE子句
  • 使用GROUP BY子句
  • 使用ORDER BY子句

1.2 TEXT

存储文本数据。TEXT数据类型存储所有类型的文本数据。它可以同时包含语言坏境支持的单字节字符和多字节字符。术语简单大对象指的是TEXT和BYTE数据类型。

TEXT列具有2^31个字节(两千兆字节)的理论限制和可用磁盘存储器确定的实际限制。可以将相同表的不超过195列声明为TEXT数据类型。同一限制还适用于BYTE数据类型。可以存储、检索、更新或删除TEXT列中的值。

仅当正在使用IS NULL或 IS NOT NULL运算符测试NULL值时,才能在布尔表达式中使用TEXT操作数。

您可以使用以下可装入行或更新字段的方法来插入TEXT 数据:

  • 使用dbload或onload实用程序,
  • 使用LOAD 语句(DB-Access)
  • 从TEXT主变量 (ESQL)
  • 存在内置强制转型将TEXT对象转换为CLOB对象

可以将相同表的不超过195列声明为BYTE或TEXT数据类型。与智能大对象不同,简单大对象不支特随机存取数据。在客户机应用程序和数据库服务器之间传输简单大对象时,您必须传输完整的BYTE或TEXT值。如果数据不适合于内存,那么必须将数据值存储在操作系统文件中,然后从该文件中检索数据值。


2.智能大对象

智能大对象是支持对数据进行随机访向并且通常可恢复的一类大对象。随机存取功能允许您查找和读取智能大对象,就好像它是操作系统文件一样。

智能大对象对于具有大量存储器需求的不透明数据类型也很有用。它们具有2^42个字节的理论大小限制和磁盘容量确定的实际限制。

CBase 8s支持下列智能大对象数据类型:

2.1 BLOB

存储二进制数据。BLOB 数据类型以随机存取块(称为智能大对象空间)的形式存储任何种类的二进制数据。二进制数据通常由已保存的电子表格、程序装入模块和数字化声音模式等等组成。数据库服务器不会对 BLOB 列的内容进行解释。

BLOB列最长可为4太字节(4^29个字节),不过系统资源可能会强加较低的实际限值。分配给智能大对象数据类型的最小磁盘空间量为512字节。

木语智能大对象指的是BLOB和CLOB数据类型。将CLOB数据类型用于随机访问文本数据。

您可以使用以下SQL函数对BLOB列执行操作:

  • FILETOBLOB将文件复制到BLOB列。
  • LOTOFILE将BLOB(或CLOB)值复制到操作系统文件中。
  • LOCOPY将现有智能大对象复制至新的智能大对象。

可以通过下列方法将数据插入到BLOB列:

  • 使用dbload或onload实用程序。
  • 使用LOAD 语句(DB-Access)
  • 使用FILETOBLOB函数
  • 从BLOB(ifx_lo_t)主变量(GBase 8s ESQL /C) 

2.2 CLOB

存储文本数据。CLOB数据类型以随机存取块(称为智能大对象空间)的形式存储任何种类的文本数据。如果此信息也是文本的 (例加。PostScript、“超文本标记语言”(HTML)、“标准图形标记语言”(SGML)或“可扩展标记语言(XML)数据),那么文本数据可包括文本格式的信息。

木语智能大对象指的是CLOB和BLOB数据类型。CLOB数据类型支持对不适合 BLOB值的字符串进行特殊运算。CLOB值最长可为4太字节(4*2^40个字节)。分配给智能大对象数据类型的最小磁盘空间量为 512字节。

将BLOB数据类型用于随机访问二进制数据,以下SQL函数可以对CLOB列执行操作:

  • FILETOCLOB将文件复制到CLOB列。
  • LOTOFILE将CLOB(或BLOB)值复制到文件中。
  • LOCOPY 将CLOB(或BLOB)值复制到新的智能大对象。
  • ENCRYPT_DES 或ENCRYPT TDES 从纯文本CLOB参数创建一个加密的BLOB值。
  • DECRYPT BINAR或DECRYPT CHAR从加密的BLOB 参数返回未加密的BLOB值(该ENCRYPT DES或ENCRYPT TDES从纯文本CLOB值中创建)

CLOB数据没有任何强制转型。因此,除非使用这些加密和解密函数返回一个BLOB,否则数据库服务器无法将CLOB类型的数据转换为任何其他数据类型。在SQL中,只能对CLOB数据执行等于(=)比较运算。要执行其他运算。必须从客户机应用程序中使用某种应用程序编程接口。

CLOB类型的多字节字符可以通过下列方法将数据插入到CLOB列:

  • 使用dbload或onload实用程序
  • 使用 LOAD语句(DB-Access)
  • 从CLOB(ifx_lo_t主变量(ESOL/C)

对于GLS,以下规则适用:

  • 必须在数据库语言环境中定义多字节CLOB字符。
  • 用代码集顺序整理CLOB数据类型。
  • 数据库服务器处理CLOB数据的代码集转换。

GBase 8s将智能大对象存储在智能大对象空间中。智能大对象空间是包含只存储BLOB和CLOB数据的—个或多个块的逻辑存储器区域。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GBase 8s内置数据类型—大对象数据类型 的相关文章

  • 在 StackOverflow 克隆中,评论表与问题和答案应该有什么关系?

    在我正在构建的类似于 StackOverflow 的应用程序中 我试图确定我的关系Questions Answers and Comments表应该有 我本可以有Questions and Answers两者都由一个表表示Posts 那将允
  • 在插入 SQLite 之前检查表 B 中的日期是否在表 A 中的日期之间

    我有一个名为 项目 的表 其中包含开始日期和结束日期 我还有一个名为 Plan 的表 它有自己的开始日期和结束日期列 但我通过某种方式验证计划开始 结束日期是否在匹配的项目开始 结束日期之间 我不知道在创建表或向计划表中插入行时添加检查是否
  • Java - 如何批量插入和更新数据库

    我想在一个PreparedStatement 中批量处理多种类型的数据库调用 这可能吗 有没有办法做类似的事情 PreparedStatement pstmt connection prepareStatement 哪里的 可以是INSER
  • FIREBASE 数据库 - 存储子节点的唯一密钥(Swift/IOS)

    我正在尝试存储生成的独特的钥匙当 childByAutoId 被调用时 理论上 它将有助于映射稍后需要在我的应用程序中发生的指定子项的更新或更改 我对 Firebase 的分层数据库相当陌生 如果下面描述的方法不正确 请随时提供替代方案 我
  • 该模型已具有同名的元素 - ASP.NET

    我正在使用 ASP Net Web 应用程序 每当我尝试添加FOREIGN KEY此错误出现在数据工具操作中 SQL71508 该模型已具有同名的元素 dbo FK Sellers Users SQL71508 该模型已经有一个元素 具有相
  • PHP - 解析具有固定列宽的文本文件

    我是 PHP 和 Laravel 的新手 我需要打开文件并解析内容以将它们传递到数据库 文本文件具有固定的列宽 它没有分隔符或标题 我认为使用子字符串并将每个子字符串分配给变量将是正确的方法 但我仍在学习该语言的过程中 我不知道如何实现这一
  • 使用git在测试和生产环境之间同步数据库

    我正在尝试在 php mysql 应用程序的开发过程中实现 git 到目前为止 我已经设置了 git repos 并且我们正在使用本地计算机进行测试 并且我们成功地将其用于文件 但我真的不知道如何处理数据库 服务器上有一个 cron 脚本
  • 在 MongoDB 中查找 7 天前的记录

    我有一个包含对象的集合 如下所示 1 id ObjectId 551c6605e4c6ac495c923aab sender id ObjectId 551c6605e4c6ac495c923aac rep sender id 38 sen
  • Azure:用户登录失败

    我做了什么 我在 Azure 中添加了资源组 添加了带有先前资源组的 Web 服务 添加了带有先前资源组的 SQL Server 数据库 从此数据库检索生成的连接字符串并在此处提供用户名和密码 将此连接字符串添加到Web服务中的应用程序设置
  • 在cakephp 3中动态更改数据库连接

    我正在尝试更改中使用的数据库连接蛋糕php 3在飞行中 我找到的这个问题的每个答案都指的是蛋糕PHP 2 These https stackoverflow com questions 27655613 multiple databases
  • 用于只读 DB 的 java ORM

    我了解 hibernate 但我想知道是否有一个更轻的 ORM 引擎只读数据库 我的意思是 我不需要一些事务查询或更新一些记录 另一方面 我需要处理一些大的记录列表 List
  • 如何在postgresql中查找具有特定列的表

    我正在使用 PostgreSQL 9 1 我有一个表的列名 是否可以找到具有此列的表 如果是这样 怎么办 你也可以做 select table name from information schema columns where colum
  • 时间序列数据的键值存储?

    我一直在使用 SQL Server 存储数十万个对象的历史时间序列数据 每天观察大约 100 次 我发现查询 给我时间 t1 和时间 t2 之间对象 XYZ 的所有值 太慢 对于我的需要 慢超过一秒 我按时间戳和对象 ID 建立索引 我考虑
  • PostgreSQL 中字符串列类型的索引数组

    是否可以在类型为的列上创建索引文本数组 尝试使用GIN索引 但查询似乎没有使用这些索引 Example CREATE TABLE users name VARCHAR 100 groups TEXT Query SELECT name FR
  • 使用 Greasemonkey 时存储数据

    使用 Greasemonkey 时是否有存储大量数据的好方法GM setValue只是没有削减它 那么这里有一些选项 设置服务器来保存数据 对于用户 并使用 xhr 来 创建 编辑 删除数据 谷歌应用程序 发动机 GAE http code
  • CloudKit 通过 cron 作业发送推送通知?

    我正在创建一个大学餐饮菜单应用程序 在其中我需要根据每日菜单发送推送通知 最初 我计划通过 Heroku 将用户数据存储在数据库中 并使用 cron 作业将数据库中的数据与每日菜单进行比较 并向用户发送适当的通知 然而 在 Cloudkit
  • 什么是数据库池?

    我只是想了解数据库连接池的概念以及它是如何实现的 数据库联系池是一种用于保持数据库连接打开的方法 以便其他人可以重用它们 通常 打开数据库连接是一项昂贵的操作 尤其是在数据库位于远程的情况下 您必须打开网络会话 进行身份验证 检查授权等等
  • Neo4j Desktop DB 无法启动,状态为“KILLED”

    运行 Neo4j Desktop 版本 1 0 15 尝试启动DB导致启动失败 数据库启动失败 DB database f8950fdd 6b5f 4fea 8c9f e8457ee1da9a v3 3 1 退出 状态为 已杀 检查日志 主
  • Scrapy - 持续从数据库中获取要爬取的url

    我想不断地从数据库中获取要爬行的网址 到目前为止 我成功地从基地获取了 url 但我希望我的蜘蛛继续从该基地读取 因为该表将由另一个线程填充 我有一个管道 一旦爬行 工作 就会从表中删除 url 换句话说 我想使用我的数据库作为队列 我尝试
  • fetchsize和batchsize对Spark的影响

    我想通过以下方式控制 RDB 的读写速度Spark直接 但标题已经透露的相关参数似乎不起作用 我可以得出这样的结论吗fetchsize and batchsize我的测试方法不起作用 或者它们确实会影响阅读和写作方面 因为测量结果基于规模是

随机推荐

  • 跨站脚本攻击XSS(最全最细致的靶场实战)

    一 XSS跨站漏洞 1 XSS简介 网站中包含大量的动态内容以提高用户体验 比过去要复杂得多 所谓动态内容 就是根据用户环境和需要 Web应用程序能够输出相应的内容 动态站点会受到一种名为 跨站脚本攻击 Cross Site Scripti
  • 教你如何快速下载python

    1 打开python官网 链接 py官网 2 找到自己要安装的版本 点击下载 3 下载 exe文件 打开 4 弹出标题为Install Python X X X X bit 的窗口 将下面的Add Python 打勾 点Install No
  • (一)软件架构概述

    1 系统结构 B S架构 Browser Server 浏览器 服务器的交互形式 Browser支持哪些语言 HTML CSS JavaScript 写HTML CSS JavaScript代码的这波人职位叫做 WEB 前端开发工程师 Ja
  • Python学习笔记(四)

    文章目录 1 进程 1 1 系统原生 OS 模块 创建进程 1 2 multiprocessing 模块 1 2 1 Process 单进程 1 2 2 Pool 进程池 1 3 subprocess 模块 使用外部子进程 2 线程 2 1
  • 爬虫 跨域请求 获取json数据 解决参数加密

    分析网址 提示 抓取对方信息是通过对方允许的 请不要违法操作 抓取其他个人有关信息 网址先发送了一个OPTIONS请求 Request URL http xxxxxxxx com Request Method OPTIONS Status
  • C++知识积累:内存对齐理解

    为什么要进行内存对齐 这是因为CPU的读取总是对齐的 举个例子 假设CPU是32位的 那么CPU每次读取的4字节数据的首地址都是4的倍数 也就是说 内存中数据首地址为4的倍数时 CPU一次操作就可以完成数据读取 假设有一个int型四字节大小
  • 警告: Can't initialize javac processor due to (most likely) a class loader problem: java.lang.NoClassD

    说明 主要参考了这位大佬的文章 https www cnblogs com xxjcai p java compiler html 不过我是在使用IDEA的时候遇到的问题 所以我这里介绍一下在IDEA中的解决方案 错误信息 src main
  • VS2017 NuGet包管理

    一 在 https www nuget org 注册账号并生成APIKEY 二 在命令行窗口启动nuget exe 三 生成 nuspec文件 将nuget exe放置在项目目录 注意下图 处的id version 打包后会生成 id ve
  • C/C++ int a[]和int (*a)[]的区别

    int a a与 先结合 a为数组 数组element type int int a a与 先结合 a为指针 指向数组 同int a link https www jianshu com p 548ff8e1b243
  • CentOS7修改SSH端口

    CentOS7 修改SSH端口 文章目录 CentOS7 修改SSH端口 1 修改ssh配置文件 1 1 查看默认端口 1 2 修改端口 2 防火墙放行 2 1 查看防火墙状态 2 2 防火墙放行端口 202 2 3 查看已开启端口 2 4
  • svn客户端检出的工程导入eclipse后不显示SVN信息

    1 首先确定原因 是由于SVN客户端与SVN插件版本不对应导致的 因此需要更换SVN插件版本 1 1 SVN插件与SVN客户端版本对应关系 插件svn1 4 x对应TortoiseSvn 1 5 x 插件svn1 6 x对应Tortoise
  • Keil MDK编程环境下的 STM32 IAP下载(学习笔记)

    IAP下载 IAP的引入 不同的程序下载方式 ICP ICP In Circuit Programing 在电路编程 可通过 CPU 的 Debug Access Port 烧录代码 比如 ARM Cortex 的 Debug Interf
  • Jsp页面java.lang.NumberFormatException: For input string: ““错误解决办法

    Jsp页面报Java lang NumberFormatException For input string 错误解决办法 昨天写代码遇到一个错误 在日志和控制台报一个错误说jsp页面一个出现java lang NumberFormatEx
  • React-Router V6 使用详解

    一 基本用法 React Router的安装方法 npm npm install react router dom 6 yarn yarn add react router dom 6 目前官方从5开始已经放弃原有的react router
  • Java中Date日期处理类,Calendar日期类,SimpleDateFormat

    1 date 获取当前系统时间 date getTime 获取系统时间毫秒值 package import java util Date public class DateDemo public static void main Strin
  • Java 多线程模式 —— Guarded Suspension 模式

    Part1Guarded Suspension 模式的介绍 我们只从字面上看 Guarded Suspension 是受保护暂停的意思 1Guarded Suspension 模式 在实际的并发编程中 Guarded Suspension
  • 【开源电机驱动】符号-幅值驱动方式

    原文地址 http www modularcircuits com blog articles h bridge secrets sign magnitude drive 本文为翻译校正稿件 含有译者个人理解 Sign Magnitude
  • Edge兼容性错误

    Edge兼容性错误 搜索错误 STATUS INVALID IMAGE HASH 修改注册表 进入 HKEY LOCAL MACHINE SOFTWARE Policies Microsoft Edge 没有就新建 然后新建DWORD 32
  • Vue中鼠标悬停更换图片/文字内容,动态展示/修改某些属性

    Vue中鼠标悬停更换图片 文字内容 动态展示 修改某些属性 鼠标悬停时 mouseenter 鼠标离开时 mouseleave 利用以上来绑定相应方法 例如 div 分别为鼠标悬停时和离开时绑定方法changeImageSrc 并传递参数
  • GBase 8s内置数据类型—大对象数据类型

    大对象数据类型 大对象数据类型已定义表与大对象存储分开大对象是逻辑存储在表列中但物理存储与列无关的数据对象 大对象是独立于表存储的 因为它们通常存储大量的数据 将此数据与表分开可提高性能 大对象分为简单大对象和智能大对象 简单大对象又分为B