Hi Oleg,

It does not yeild the correct result for me.
I am providing more details this time.

path is ltree [] for me not ltree,

 Column   |          Type          |                            Modifiers
------------+------------------------+-----------------------------------------------------------------
 profile_id | integer                | not null default 
nextval('"unified_data_profile_id_seq"'::text)
 co_name    | character varying(255) |
 city       | character varying(100) |
 path       | ltree[]                |
Indexes: unified_data_path
Unique keys: unified_data_co_name_key,
             unified_data_profile_id_key



eg if my sample data set is.

profile_id |                           path
------------+----------------------------------------------------------
      25477 | {0.180.830,0.180.848}
      26130 | {0.180.848}
       2928 | {0.64.65,0.64.67,0.180.830,0.180.848,0.180.849}
      26129 | {0.180.848}
      26126 | {0.180.848}
      26127 | {0.180.848}
      26128 | {0.180.848}
      24963 | {0.180.830,0.180.848}
      26125 | {0.180.848}
       7239 | {0.246.256,0.246.282,0.180.848,0.246.857,0.76.1255.1161}
(10 rows)

what query shud i use to extract profiles where path contains *.64.* and *.180.*

eg this query
SELECT   profile_id,path    from  unified_data where path ~ '*.180.*'  and path ~ 
'*.64.*' limit 10;
 profile_id |                      path
------------+-------------------------------------------------
       2928 | {0.64.65,0.64.67,0.180.830,0.180.848,0.180.849}
       3238 | {0.64.68,0.180.830,0.395.904}
       6255 | {0.180.227,0.64.814}
       6153 | {0.180.227,0.505.518,0.64.814}
       6268 | {0.180.227,0.64.814}
       6267 | {0.180.227,0.64.814}
       6120 | {0.180.227,0.64.814}
       6121 | {0.180.227,0.64.814}
       6084 | {0.180.227,0.64.814}
       6066 | {0.180.227,0.64.810}
(10 rows)
gives me the correct result but i am not sure if its the most efficient.

I will be using it for medium sized dataset  approx 100,000 that there will be such
search on upto four such indexed columns.

regds
mallah.





On Friday 02 August 2002 22:30, Oleg Bartunov wrote:
> On Fri, 2 Aug 2002, Rajesh Kumar Mallah. wrote:
> > Hi Oleg,
> >
> > I am trying to use contrib/ltree for one of my applications.
> >
> > the query below works fine for me.
> >
> > Qry1: SELECT   path   from  unified_data where path ~ '*.180.*'  and path
> > ~ '*.1.*';
> >
> > is there any way of compacting it for example
> >
> > Qry2: SELECT   path   from  unified_data where path ~ '*.180.*'  or path
> > ~ '*.1.*'; is better written as
> > Qry3: SELECT   path   from  unified_data where path ~ '*.180|1.*' ;
>
> Qry2 and Qry3 are equvalent and Qry3 is faster but not much.
> But Qry1 is not the same as Qry2 !!!
>
> Qry1 could be rewritten as:
>
> SELECT   path   from  unified_data where path @ '180 & 1';
>
> > also is qry3 better to Qry2 in terms of performance?
> >
> > regds
> > mallah.
>
>       Regards,
>               Oleg
> _____________________________________________________________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: [EMAIL PROTECTED], http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83

-- 
Rajesh Kumar Mallah,
Project Manager (Development)
Infocom Network Limited, New Delhi
phone: +91(11)6152172 (221) (L) ,9811255597 (M)

Visit http://www.trade-india.com ,
India's Leading B2B eMarketplace.



---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to