首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表内隐指数

表内隐指数
EN

Stack Overflow用户
提问于 2013-09-09 09:54:52
回答 1查看 1K关注 0票数 0

我正在学习Postgresql和db。我有这样一个简单的查询,我想了解它做了什么

代码语言:javascript
复制
CREATE TABLE adempiere.c_mom(
c_mom_id NUMERIC(10,0) NOT NULL,
isactive character(1) DEFAULT 'Y'::bpchar NOT NULL,
start_date date NOT NULL,
start_time timestamp without time zone NOT NULL,
end_time timestamp without time zone NOT NULL,
CONSTRAINT c_mom_pkey PRIMARY KEY (c_mom_id)
);

所以在我执行完这个任务后

代码语言:javascript
复制
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "c_mom_pkey" for table "c_mom"
  1. 现在我知道了我的PK is c_mom_id,但是创建一个隐式索引的目的是什么呢?
  2. 在psql中,DEFAULT 'Y'::bpchar做什么,或者::一般做什么?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-09 10:06:13

::表示法是一个特定于PostgreSQL的型铸造表示法,在本例中输入bpchar (空白填充字符)。

创建索引是为了备份主键,以提高它们的效率。如果没有索引来支持它,那么每个insert语句都必须扫描整个表,以确定该插入是否会创建一个重复的键。使用索引可以加快速度(如果表很大的话)。

这不是PostgreSQL特有的。许多关系数据库将创建唯一的索引来备份主键。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18695696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档