Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
c1e2f351
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c1e2f351
编写于
6月 25, 2002
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add more info on regex's using INDEX.
上级
20241a4c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
44 addition
and
13 deletion
+44
-13
doc/FAQ
doc/FAQ
+15
-5
doc/src/FAQ/FAQ.html
doc/src/FAQ/FAQ.html
+29
-8
未找到文件。
doc/FAQ
浏览文件 @
c1e2f351
Frequently Asked Questions (FAQ) for PostgreSQL
Last updated: Mon Jun 24 2
1:45:50
EDT 2002
Last updated: Mon Jun 24 2
3:32:16
EDT 2002
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
...
...
@@ -747,10 +747,20 @@
LIMIT 1
When using wild-card operators such as LIKE or ~, indexes can only be
used if the default C local is used during initdb and the beginning of
the search is anchored to the start of the string. Therefore, to use
indexes, LIKE patterns must not start with %, and ~(regular
expression) patterns must start with ^.
used in certain circumstances:
* The beginning of the search string must be anchored to the start
of the string, i.e.:
* LIKE patterns must not start with %.
* ~(regular expression) patterns must start with ^.
The search string can not start with a character class, e.g. [a-e].
Case-insensitive searches like ILIKE and ~* can not be used.
Instead, use functional indexes, which are described later in this
FAQ.
The default C local must have been used during initdb.
4.9) How do I see how the query optimizer is evaluating my query?
...
...
doc/src/FAQ/FAQ.html
浏览文件 @
c1e2f351
...
...
@@ -14,7 +14,7 @@
alink=
"#0000ff"
>
<H1>
Frequently Asked Questions (FAQ) for PostgreSQL
</H1>
<P>
Last updated: Mon Jun 24 2
1:45:50
EDT 2002
</P>
<P>
Last updated: Mon Jun 24 2
3:32:16
EDT 2002
</P>
<P>
Current maintainer: Bruce Momjian (
<A
href=
"mailto:pgman@candle.pha.pa.us"
>
pgman@candle.pha.pa.us
</A>
)
<BR>
...
...
@@ -282,6 +282,7 @@
subscribe
end
</PRE>
Digests are sent out to members of this list whenever the main list
has received around 30k of messages.
...
...
@@ -293,6 +294,7 @@
subscribe
end
</PRE>
There is also a developers discussion mailing list available. To
subscribe to this list, send email to
<A
href=
"mailto:pgsql-hackers-request@PostgreSQL.org"
>
pgsql-hackers-request@PostgreSQL.org
</A>
...
...
@@ -860,6 +862,7 @@
Maximum number of columns in a table? 250-1600 depending on column types
Maximum number of indexes on a table? unlimited
</PRE>
Of course, these are not actually unlimited, but limited to
available disk space and memory/swap space. Performance may suffer
when these values get unusually large.
...
...
@@ -951,11 +954,24 @@
</PRE>
<P>
When using wild-card operators such as
<SMALL>
LIKE
</SMALL>
or
<I>
~
</I>
, indexes can only be used if the default C local is used
during initdb and the beginning of the search
is anchored to the start of the string. Therefore, to use indexes,
<SMALL>
LIKE
</SMALL>
patterns must not start with
<I>
%
</I>
, and
<I>
~
</I>
(regular expression) patterns must start with
<I>
^
</I>
.
</P>
<I>
~
</I>
, indexes can only be used in certain circumstances:
<UL>
<LI>
The beginning of the search string must be anchored to the start
of the string, i.e.:
</LI>
<UL>
<LI><SMALL>
LIKE
</SMALL>
patterns must not start with
<I>
%.
</I></LI>
<LI><I>
~
</I>
(regular expression) patterns must start with
<I>
^.
</I></LI>
</UL>
<LI>
The search string can not start with a character class,
e.g. [a-e].
</LI>
<LI>
Case-insensitive searches like
<SMALL>
ILIKE
</SMALL>
and
<I>
~*
</I>
can not be used. Instead, use functional
indexes, which are described later in this FAQ.
</LI>
<LI>
The default
<I>
C
</I>
local must have been used during
<i>
initdb.
</i></LI>
</UL>
<P>
<H4><A
name=
"4.9"
>
4.9
</A>
) How do I see how the query optimizer is
evaluating my query?
</H4>
...
...
@@ -1010,13 +1026,12 @@ during initdb and the beginning of the search
SELECT *
FROM tab
WHERE lower(col) = 'abc'
</PRE>
This will not use an standard index. However, if you create a
functional index, it will be used:
<PRE>
CREATE INDEX tabindex on tab (lower(col));
</PRE>
<H4><A
name=
"4.13"
>
4.13
</A>
) In a query, how do I detect if a field
...
...
@@ -1066,6 +1081,7 @@ BYTEA bytea variable-length byte array (null-byte safe)
name TEXT
);
</PRE>
is automatically translated into this:
<PRE>
CREATE SEQUENCE person_id_seq;
...
...
@@ -1075,6 +1091,7 @@ BYTEA bytea variable-length byte array (null-byte safe)
);
CREATE UNIQUE INDEX person_id_key ON person ( id );
</PRE>
See the
<I>
create_sequence
</I>
manual page for more information
about sequences. You can also use each row's
<I>
OID
</I>
field as a
unique value. However, if you need to dump and reload the database,
...
...
@@ -1093,6 +1110,7 @@ BYTEA bytea variable-length byte array (null-byte safe)
new_id = output of "SELECT nextval('person_id_seq')"
INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal');
</PRE>
You would then also have the new value stored in
<CODE>
new_id
</CODE>
for use in other queries (e.g., as a foreign
key to the
<CODE>
person
</CODE>
table). Note that the name of the
...
...
@@ -1108,6 +1126,7 @@ BYTEA bytea variable-length byte array (null-byte safe)
INSERT INTO person (name) VALUES ('Blaise Pascal');
new_id = output of "SELECT currval('person_id_seq')";
</PRE>
Finally, you could use the
<A
href=
"#4.16"
><SMALL>
OID
</SMALL></A>
returned from the
<SMALL>
INSERT
</SMALL>
statement to look up the
default value, though this is probably the least portable approach.
...
...
@@ -1215,6 +1234,7 @@ BYTEA bytea variable-length byte array (null-byte safe)
ulimit -d 262144
limit datasize 256m
</PRE>
Depending on your shell, only one of these may succeed, but it will
set your process data segment limit much higher and perhaps allow
the query to complete. This command applies to the current process,
...
...
@@ -1273,6 +1293,7 @@ BYTEA bytea variable-length byte array (null-byte safe)
WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
</CODE>
</PRE>
We hope to fix this limitation in a future release.
<H4><A
name=
"4.23"
>
4.23
</A>
) How do I perform an outer join?
</H4>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录