From: "Денис Смирнов" <mithraen@freesource.info> To: ALT Linux Sisyphus discussions <sisyphus@lists.altlinux.org> Subject: Re: [sisyphus] postgresql index row Date: Fri, 12 Nov 2010 19:44:02 +0300 Message-ID: <20101112164402.GB2748@mw.mithraen.ru> (raw) In-Reply-To: <20101112162542.GB16999@altlinux.org> [-- Attachment #1: Type: text/plain, Size: 1021 bytes --] On Fri, Nov 12, 2010 at 07:25:42PM +0300, Alexey I. Froloff wrote: AIF> "Шарик, ты балбес!" (ц) AIF> http://www.postgresql.org/docs/9.0/interactive/indexes-types.html AIF> """The optimizer can also use a B-tree index for queries AIF> involving the pattern matching operators LIKE and ~ *if* the AIF> pattern is a constant and is anchored to the beginning of the AIF> string -- for example, col LIKE 'foo%' or col ~ '^foo', but AIF> not col LIKE '%bar'.""" Добавлю -- если понимать как работает b-tree индекс, то становится очевидным что работать иначе оно не может. Ибо он помогает только для операций сравнения. При этом x like 'abc%' это то же самое что: (x >= 'abc' AND x < 'abd'), и только поэтому индекс помогает в этой ситуации искать. При этом индексы по большим строкам -- безусловное зло, а их желание говорит о необходимости привести структуру базы в порядок. -- С уважением, Денис http://mithraen.ru/ ---------------------------------------------------------------------------- [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2010-11-12 16:44 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-11-12 2:05 Igor Zubkov 2010-11-12 7:47 ` Alexey I. Froloff 2010-11-12 16:06 ` Igor Zubkov 2010-11-12 16:25 ` Alexey I. Froloff 2010-11-12 16:44 ` Денис Смирнов [this message] 2010-11-12 16:39 ` Денис Смирнов 2010-11-13 6:23 ` Alex Gorbachenko 2010-11-13 8:49 ` Денис Смирнов 2010-11-13 10:07 ` Ivan Fedorov 2010-11-12 9:58 ` Ivan Fedorov 2010-11-12 10:48 ` Денис Смирнов 2010-11-12 12:25 ` [sisyphus] [JT] " Ivan Fedorov 2010-11-13 4:31 ` REAL
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20101112164402.GB2748@mw.mithraen.ru \ --to=mithraen@freesource.info \ --cc=sisyphus@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git