IBM Informix Dynamic Server 11.5 新特性:BIGINT与BIGSERIAL数据类型
需积分: 10 85 浏览量
更新于2024-08-01
收藏 2.53MB PPT 举报
"IDS 11.5 新特性"
IBM Informix Dynamic Server 11.5 引入了若干新特性,其中最显著的是对 BIGINT 和 BIGSERIAL SQL 数据类型的添加。这些新数据类型是根据 ANSI 标准设计的,旨在提供比 INT8 和 SERIAL8 更好的性能选项。然而,IDS 仍然会继续支持现有的客户应用程序中的 INT8 和 SERIAL8 数据类型。
BIGINT 和 BIGSERIAL 的引入满足了处理大整数值的需求。BIGINT 是一种可以存储非常大整数的类型,范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807,而 BIGSERIAL 类似于 AUTO_INCREMENT 或 SEQUENCE,它是一个自增的大整数类型,通常用于主键生成。
在实际操作中,你可以像下面这样使用这些新数据类型:
- 创建一个包含 BIGSERIAL 的表 T1,其中 C1 为主键,C2 为 BIGINT 型:
```sql
CREATE TABLE T1 (C1 BIGSERIAL(12345), C2 BIGINT);
```
接着创建基于 C2 的唯一索引 IX1:
```sql
CREATE UNIQUE INDEX IX1 ON T1 (C2);
```
然后插入一行数据:
```sql
INSERT INTO T1 VALUES (0, 1234567);
```
对于分布式数据库环境,可以通过表达式分片创建跨多个数据库空间的表 CT1:
```sql
CREATE TABLE CT1 (A BIGINT, B BIGSERIAL)
FRAGMENT BY EXPRESSION
A <= 1000000000 IN DBSPACE 2,
A > 1000000000 AND A <= 29990000000 IN DBSPACE 3,
A > 29990000000 AND A <= 999999999999999 IN DBSPACE 1;
```
同时,IDS 11.5 允许在同一表中混合使用 SERIAL 和 SERIAL8 数据类型,但不允许在一个列定义中同时使用 SERIAL 和 SERIAL8,如以下示例所示,这会产生错误:
```sql
CREATE TABLE T7 (col1 SERIAL, COL2 SERIAL8, col3 BIGSERIAL); -- Raises error
```
在这个例子中,T7 表的第三个列定义将导致错误,因为 IDS 不允许在一个表的多个列中混用 SERIAL 和 SERIAL8。
IDS 11.5 的新特性提升了大数据量处理的效率,并扩展了对大整数的支持,同时保持了向后兼容性,以确保现有应用的平稳过渡。这使得 IDS 在处理大量数据的场景下更具竞争力,也提供了更多的灵活性来满足各种数据库设计需求。
2014-02-21 上传
2022-01-06 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-06-13 上传
2023-06-10 上传
2023-06-09 上传
2023-05-24 上传
yita_hutu
- 粉丝: 0
- 资源: 3
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍