Re: Tree structure index usage

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: Tree structure index usage
Дата
Msg-id web-539545@davinci.ethosmedia.com
обсуждение исходный текст
Ответ на Tree structure index usage  ("Aasmund Midttun Godal" <postgresql@envisity.com>)
Список pgsql-sql
Aasmund,

> CREATE TABLE my_tree (
>  id SERIAL PRIMARY KEY,
>  dir INTEGER references my_tree ON DELETE CASCADE ON UPDATE CASCADE,
>  name TEXT,
>  UNIQUE(name, dir)
> );
> 
> Then I have a function is_parent(integer, integer), it will tell you
> if the second integer (id) is a sub directory of the first
> (regardless of the number of levels).
> 
> now obviously is_parent  does some queries itself.
> 
> and someone may choose to update the dir value of a row.
> 
> is there any way I can create an efficient index on this
> structure/function?

Hmmm.  Seperate indexes on ID and DIR should be sufficient for most
purposes.  More complex approaches are only likely to slow things down.
How many records do you have?  How many levels to the tree structure?

For an excellent discussion of efficient construction and queryin of
tree structures, see Joe Celko's "SQL for Smarties."

-Josh

______AGLIO DATABASE SOLUTIONS___________________________                                      Josh Berkus Complete
informationtechnology      josh@agliodbs.com  and data management solutions       (415) 565-7293 for law firms, small
businesses       fax 621-2533   and non-profit organizations.      San Francisco
 


В списке pgsql-sql по дате отправления:

Предыдущее
От: caldodge@fpcc.net (Calvin Dodge)
Дата:
Сообщение: Re: PostgreSQL SELECT error
Следующее
От: "Aasmund Midttun Godal"
Дата:
Сообщение: to_char adds leading space, intended?