Re: Low cardinality in OLTP with high concurrency

From: Shakespeare <whatsin_at_xs4all.nl>
Date: Wed, 25 Mar 2009 09:56:30 +0100
Message-ID: <49c9f1bf$0$198$e4fe514c_at_news.xs4all.nl>



vipin.singla_at_gmail.com schreef:
> Hi Gurus
>
> I am struct with a problem of slow performance of a query. The problem
> is because of low cardinality. A table contains about 1 million rows
> which increases daily. there is a column which contains 16 distinct
> values say AOFA, AOFB,SIGN etc etc.
>
> When i run a query with following clause
>
> Where UPPER(Field) LIKE 'AOF%'
>
> It takes to much time. I checked in the table in 1 million rows,
> about .5 million rows match this criteria. I have created a functional
> index on the table with Upper function. This improved the performance
> from 2 mins to 40 sec bt 40 sec is again not acceptable.
>
> So i though of bitmap index. But since it is OLTP where inserts/
> modifications run at night by utilities and selects is done by users
> in Day time, i have to drop this option to avoid any deadlock sort of
> things.
>
> Any suggestion on this.
>
> --
> Vipin

Do you need the 'upper' part in your query, sicne you have only 16 distinct values? Or did you count the distinct on UPPER(column) ?

Shakespeare Received on Wed Mar 25 2009 - 03:56:30 CDT

Original text of this message