《NoSQL权威指南》——2.5 执行一个ALTER语句

简介:

本节书摘来自异步社区出版社《NoSQL权威指南》一书中的第2章,第2.5节,作者:【美】Joe Celko(乔•塞科) ,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.5 执行一个ALTER语句

ALTER语句能够改变模式(schema)中的结构。在列式模型中,ADD COLUMNDROP COLUMN是很容易的,创建一个新的列结构或从一个物理存储中删除旧的列结构。在面向行的模型中,每个行必须被压缩或延伸,索引也需要被重组。

因为同样的空间问题,在传统的面向行的数据库中修改数据类型也是很难的。在现实世界中,大部分变更是增加一列的物理存储。数字变得更大,字符串变得更长;只有日期类型似乎是不会膨胀的数据值,自从有了ISO-8601标准,一个固定的范围是0001-01-01~9999-12-31。

在列式模型中,修改容易得多。将位置数据复制到一个新的列描述符,并将旧的数据值强制转换为新的数据值。当有新的列结构加载时,删除旧的,并添加新的。没有任何查询需要修改,除非它们具有特定数据类型的谓词(例如,如果日期成为整数,则foobar_date<= CURRENT_TIMESTAMP不会解析)。

相关文章
|
存储 SQL 算法
【笔记】开发指南—DDL语句—分库分表语法—CREATE TABLE
本文主要介绍使用DDL语句进行建表的语法、子句、参数和基本方式。
|
SQL 关系型数据库 MySQL
【笔记】开发指南—DDL语句—分库分表语法—ALTER TABLE
您可以通过ALTER TABLE语法改变表的结构,如增加列、增加索引、修改数据定义等
|
存储 SQL 关系型数据库
开发指南—DDL语句—分库分表语法—CREATE DATABASE
CREATE DATABASE语句用于创建数据库,并可以指定数据库的默认属性(如数据库默认字符集,校验规则等)。
|
存储 SQL 算法
【笔记】开发指南—DDL语句—分库分表语法—CREATE TABLE
本文主要介绍使用DDL语句进行建表的语法、子句、参数和基本方式。
104 0
|
SQL 存储 Oracle
SQL不完全手册(一):概念和基础语句
SQL不完全手册(一):概念和基础语句
SQL不完全手册(一):概念和基础语句
|
SQL 存储 Oracle
SQL语句的基本概念和MySQL数据库的简单理解(一)
SQL语句的基本概念和MySQL数据库的简单理解(一)
103 0
SQL语句的基本概念和MySQL数据库的简单理解(一)
|
SQL 关系型数据库 数据库
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 6 章 数据操纵_6.2. 更新数据
6.2. 更新数据 修改已经存储在数据库中的数据的行为叫做更新。你可以更新单个行,也可以更新表中所有的行,还可以更新其中的一部分行。 我们可以独立地更新每个列,而其他的列则不受影响。 要更新现有的行,使用UPDATE命令。
1115 0
|
SQL 关系型数据库 PostgreSQL
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 6 章 数据操纵_6.1. 插入数据
6.1. 插入数据 当一个表被创建后,它不包含数据。在数据库可以有点用之前要做的第一件事就是向里面插入数据。数据在概念上是以每次一行地方式被插入的。你当然可以每次插入多行,但是却没有办法一次插入少于一行的数据。
1145 0
|
4天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101786 0