btree_gist
为数据类型 int2
、int4
、int8
、float4
、 float8
、numeric
、timestamp with time zone
、
timestamp without time zone
、time with time zone
、 time without time zone
、date
、interval
、 oid
、money
、
char
、 varchar
、text
、bytea
、bit
、 varbit
、macaddr
、macaddr8
、 inet
、
cidr
、uuid
和所有enum
类型提供了实现 B 树等效行为的 GiST 索引操作符类。
通常,这些操作符类不会比等效的标准 B 树索引方法更好,并且它们缺少标准 B 树代码的一个主要特性:强制一致性的能力。但是,如下文所述,它们提供了在一个 B 树索引中没有的一些其他特性。另外,当需要一个多列 GiST 索引,并且其某些列的数据类型只在 GiST 中是可索引的而其他列是简单数据类型时,这些操作符类就有用了。最后,这些操作符可以用于 GiST 测试以及作为开发其他 GiST 操作符类的基础。
除了典型的 B 树搜索操作符之外,btree_gist
也为<>
(“不等于”)提供了索引支持。这可能与下文描述的排他约束组合在一起产生作用。
另外,对于那些具有自然距离度量的数据类型,btree_gist
定义了一个距离操作符<->
,并且为使用这个操作符的最近邻搜索提供了 GiST 索引支持。距离操作符还提供给了:int2
、int4
、 int8
、
float4
、 float8
、timestamp with time zone
、 timestamp without time zone
、 time without time zone
、date
、interval
、
oid
和money
。
这个模块被认为是 “trusted”, 也就是说, 它可以被当前数据库中拥有CREATE
特权的非超级用户安装。
使用btree_gist
代替btree
的简单例子:
CREATE TABLE test (a int4);
-- create index
CREATE INDEX testidx ON test USING GIST (a);
-- query
SELECT * FROM test WHERE a < 10;
-- nearest-neighbor search: find the ten entries closest to "42"
SELECT *, a <-> 42 AS dist FROM test ORDER BY a <-> 42 LIMIT 10;
使用一个排他约束来强制规则:一个动物园里的一个笼子只能装一种动物:
=> CREATE TABLE zoo (
cage INTEGER,
animal TEXT,
EXCLUDE USING GIST (cage WITH =, animal WITH <>)
);
=> INSERT INTO zoo VALUES(123, "zebra");
INSERT 0 1
=> INSERT INTO zoo VALUES(123, "zebra");
INSERT 0 1
=> INSERT INTO zoo VALUES(123, "lion");
ERROR: conflicting key value violates exclusion constraint "zoo_cage_animal_excl"
DETAIL: Key (cage, animal)=(123, lion) conflicts with existing key (cage, animal)=(123, zebra).
=> INSERT INTO zoo VALUES(124, "lion");
INSERT 0 1
SQL NULL 值 NULL 值代表遗漏的未知数据。 默认地,表的列可以存放 NULL 值。 本章讲解 IS NULL 和 IS NOT NULL 操作符。SQL NUL...
SQL LEN() 函数LEN() 函数 LEN() 函数返回文本字段中值的长度。 SQL LEN() 语法SELECT LEN(column_name) FROM table_name;演...
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。fetchone():该方法获取下一个查询结果集...
在本章中,我们将研究WordPress中的Reading Settings。 阅读设置用于设置与首页相关的内容。 您可以设置要在主页上显示的帖子数...
在本章中,我们将研究如何在WordPress上编辑帖子。 以下是在WordPress中编辑帖子的简单步骤。步骤(1)- 点击WordPress中的Posts ...
文件检索Search说明:在指定目录(默认包含当前目录、运行目录、主函数目录;不会递归子目录)中搜索文件并返回真实路径。格式:f...
基本介绍通用时间管理模块,封装了常用的时间/日期相关的方法,作为标准库time的功能性扩展,提供了更多的功能特性。支持自...