Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2503982

Browse files
committed
Improve procost estimates for some text search functions.
The text search functions that involve parsing raw text into lexemes areremarkably CPU-intensive, so estimating them at the same cost as most otherbuilt-in functions seems like a mistake; moreover, doing so turns out todiscourage the optimizer from using functional indexes on these functions.After some debate, we've agreed to raise procost from 1 to 100 forto_tsvector(), plainto_tsvector(), to_tsquery(), ts_headline(),ts_match_tt(), and ts_match_tq(), which are all the text search functionsthat parse raw text.Also increase procost for the 2-argument form of ts_rewrite()(tsquery_rewrite_query); while this function doesn't do text parsing,it does execute a user-supplied SQL query, so its previous procost of 1 isclearly a drastic underestimate. It seems reasonable to assign it the samecost we assign to PL functions by default, so 100 is the number here too.I did not bother bumping catversion for this change, since it does notbreak catalog compatibility with the server executable nor result inany regression test changes.Per complaint from Andrew Gierth and subsequent discussion.
1 parent2ce439f commit2503982

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

‎src/include/catalog/pg_proc.h

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4494,8 +4494,8 @@ DATA(insert OID = 3625 ( tsvector_concatPGNSP PGUID 12 1 0 0 0 f f f f t f i
44944494

44954495
DATA(insert OID = 3634 ( ts_match_vqPGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 16 "3614 3615" _null_ _null_ _null_ _null_ _null_ ts_match_vq _null_ _null_ _null_ ));
44964496
DATA(insert OID = 3635 ( ts_match_qvPGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 16 "3615 3614" _null_ _null_ _null_ _null_ _null_ ts_match_qv _null_ _null_ _null_ ));
4497-
DATA(insert OID = 3760 ( ts_match_ttPGNSP PGUID 123 0 0 0 f f f f t f s 2 0 16 "25 25" _null_ _null_ _null_ _null_ _null_ ts_match_tt _null_ _null_ _null_ ));
4498-
DATA(insert OID = 3761 ( ts_match_tqPGNSP PGUID 122 0 0 0 f f f f t f s 2 0 16 "25 3615" _null_ _null_ _null_ _null_ _null_ ts_match_tq _null_ _null_ _null_ ));
4497+
DATA(insert OID = 3760 ( ts_match_ttPGNSP PGUID 12100 0 0 0 f f f f t f s 2 0 16 "25 25" _null_ _null_ _null_ _null_ _null_ ts_match_tt _null_ _null_ _null_ ));
4498+
DATA(insert OID = 3761 ( ts_match_tqPGNSP PGUID 12100 0 0 0 f f f f t f s 2 0 16 "25 3615" _null_ _null_ _null_ _null_ _null_ ts_match_tq _null_ _null_ _null_ ));
44994499

45004500
DATA(insert OID = 3648 ( gtsvector_compressPGNSP PGUID 12 1 0 0 0 f f f f t f i 1 0 2281 "2281" _null_ _null_ _null_ _null_ _null_ gtsvector_compress _null_ _null_ _null_ ));
45014501
DESCR("GiST tsvector support");
@@ -4554,7 +4554,7 @@ DESCR("show real useful query for GiST index");
45544554

45554555
DATA(insert OID = 3684 ( ts_rewritePGNSP PGUID 12 1 0 0 0 f f f f t f i 3 0 3615 "3615 3615 3615" _null_ _null_ _null_ _null_ _null_ tsquery_rewrite _null_ _null_ _null_ ));
45564556
DESCR("rewrite tsquery");
4557-
DATA(insert OID = 3685 ( ts_rewritePGNSP PGUID 121 0 0 0 f f f f t f v 2 0 3615 "3615 25" _null_ _null_ _null_ _null_ _null_ tsquery_rewrite_query _null_ _null_ _null_ ));
4557+
DATA(insert OID = 3685 ( ts_rewritePGNSP PGUID 12100 0 0 0 f f f f t f v 2 0 3615 "3615 25" _null_ _null_ _null_ _null_ _null_ tsquery_rewrite_query _null_ _null_ _null_ ));
45584558
DESCR("rewrite tsquery");
45594559

45604560
DATA(insert OID = 3695 ( gtsquery_compressPGNSP PGUID 12 1 0 0 0 f f f f t f i 1 0 2281 "2281" _null_ _null_ _null_ _null_ _null_ gtsquery_compress _null_ _null_ _null_ ));
@@ -4644,26 +4644,26 @@ DESCR("(internal)");
46444644
DATA(insert OID = 3741 ( thesaurus_lexizePGNSP PGUID 12 1 0 0 0 f f f f t f i 4 0 2281 "2281 2281 2281 2281" _null_ _null_ _null_ _null_ _null_ thesaurus_lexize _null_ _null_ _null_ ));
46454645
DESCR("(internal)");
46464646

4647-
DATA(insert OID = 3743 ( ts_headlinePGNSP PGUID 121 0 0 0 f f f f t f i 4 0 25 "3734 25 3615 25" _null_ _null_ _null_ _null_ _null_ ts_headline_byid_opt _null_ _null_ _null_ ));
4647+
DATA(insert OID = 3743 ( ts_headlinePGNSP PGUID 12100 0 0 0 f f f f t f i 4 0 25 "3734 25 3615 25" _null_ _null_ _null_ _null_ _null_ ts_headline_byid_opt _null_ _null_ _null_ ));
46484648
DESCR("generate headline");
4649-
DATA(insert OID = 3744 ( ts_headlinePGNSP PGUID 121 0 0 0 f f f f t f i 3 0 25 "3734 25 3615" _null_ _null_ _null_ _null_ _null_ ts_headline_byid _null_ _null_ _null_ ));
4649+
DATA(insert OID = 3744 ( ts_headlinePGNSP PGUID 12100 0 0 0 f f f f t f i 3 0 25 "3734 25 3615" _null_ _null_ _null_ _null_ _null_ ts_headline_byid _null_ _null_ _null_ ));
46504650
DESCR("generate headline");
4651-
DATA(insert OID = 3754 ( ts_headlinePGNSP PGUID 121 0 0 0 f f f f t f s 3 0 25 "25 3615 25" _null_ _null_ _null_ _null_ _null_ ts_headline_opt _null_ _null_ _null_ ));
4651+
DATA(insert OID = 3754 ( ts_headlinePGNSP PGUID 12100 0 0 0 f f f f t f s 3 0 25 "25 3615 25" _null_ _null_ _null_ _null_ _null_ ts_headline_opt _null_ _null_ _null_ ));
46524652
DESCR("generate headline");
4653-
DATA(insert OID = 3755 ( ts_headlinePGNSP PGUID 121 0 0 0 f f f f t f s 2 0 25 "25 3615" _null_ _null_ _null_ _null_ _null_ ts_headline _null_ _null_ _null_ ));
4653+
DATA(insert OID = 3755 ( ts_headlinePGNSP PGUID 12100 0 0 0 f f f f t f s 2 0 25 "25 3615" _null_ _null_ _null_ _null_ _null_ ts_headline _null_ _null_ _null_ ));
46544654
DESCR("generate headline");
46554655

4656-
DATA(insert OID = 3745 ( to_tsvectorPGNSP PGUID 121 0 0 0 f f f f t f i 2 0 3614 "3734 25" _null_ _null_ _null_ _null_ _null_ to_tsvector_byid _null_ _null_ _null_ ));
4656+
DATA(insert OID = 3745 ( to_tsvectorPGNSP PGUID 12100 0 0 0 f f f f t f i 2 0 3614 "3734 25" _null_ _null_ _null_ _null_ _null_ to_tsvector_byid _null_ _null_ _null_ ));
46574657
DESCR("transform to tsvector");
4658-
DATA(insert OID = 3746 ( to_tsqueryPGNSP PGUID 121 0 0 0 f f f f t f i 2 0 3615 "3734 25" _null_ _null_ _null_ _null_ _null_ to_tsquery_byid _null_ _null_ _null_ ));
4658+
DATA(insert OID = 3746 ( to_tsqueryPGNSP PGUID 12100 0 0 0 f f f f t f i 2 0 3615 "3734 25" _null_ _null_ _null_ _null_ _null_ to_tsquery_byid _null_ _null_ _null_ ));
46594659
DESCR("make tsquery");
4660-
DATA(insert OID = 3747 ( plainto_tsqueryPGNSP PGUID 121 0 0 0 f f f f t f i 2 0 3615 "3734 25" _null_ _null_ _null_ _null_ _null_ plainto_tsquery_byid _null_ _null_ _null_ ));
4660+
DATA(insert OID = 3747 ( plainto_tsqueryPGNSP PGUID 12100 0 0 0 f f f f t f i 2 0 3615 "3734 25" _null_ _null_ _null_ _null_ _null_ plainto_tsquery_byid _null_ _null_ _null_ ));
46614661
DESCR("transform to tsquery");
4662-
DATA(insert OID = 3749 ( to_tsvectorPGNSP PGUID 121 0 0 0 f f f f t f s 1 0 3614 "25" _null_ _null_ _null_ _null_ _null_ to_tsvector _null_ _null_ _null_ ));
4662+
DATA(insert OID = 3749 ( to_tsvectorPGNSP PGUID 12100 0 0 0 f f f f t f s 1 0 3614 "25" _null_ _null_ _null_ _null_ _null_ to_tsvector _null_ _null_ _null_ ));
46634663
DESCR("transform to tsvector");
4664-
DATA(insert OID = 3750 ( to_tsqueryPGNSP PGUID 121 0 0 0 f f f f t f s 1 0 3615 "25" _null_ _null_ _null_ _null_ _null_ to_tsquery _null_ _null_ _null_ ));
4664+
DATA(insert OID = 3750 ( to_tsqueryPGNSP PGUID 12100 0 0 0 f f f f t f s 1 0 3615 "25" _null_ _null_ _null_ _null_ _null_ to_tsquery _null_ _null_ _null_ ));
46654665
DESCR("make tsquery");
4666-
DATA(insert OID = 3751 ( plainto_tsqueryPGNSP PGUID 121 0 0 0 f f f f t f s 1 0 3615 "25" _null_ _null_ _null_ _null_ _null_ plainto_tsquery _null_ _null_ _null_ ));
4666+
DATA(insert OID = 3751 ( plainto_tsqueryPGNSP PGUID 12100 0 0 0 f f f f t f s 1 0 3615 "25" _null_ _null_ _null_ _null_ _null_ plainto_tsquery _null_ _null_ _null_ ));
46674667
DESCR("transform to tsquery");
46684668

46694669
DATA(insert OID = 3752 ( tsvector_update_triggerPGNSP PGUID 12 1 0 0 0 f f f f f f v 0 0 2279 "" _null_ _null_ _null_ _null_ _null_ tsvector_update_trigger_byid _null_ _null_ _null_ ));

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp