First query selectivity is 1:1000 = 0.1%
Second is 300/1000 = 30%

This pretty much explains performance difference.

Try :
select count(*) from test where int_1 > 999


On Mon, Jun 2, 2014 at 9:20 PM, Pham Phuong Tu <tuphamphu...@gmail.com>
wrote:

> HI guys,
>
> I have a test table with 20M rows, one row have 2 column type integer, 1
> column have index, other dont't have. Value of integer column is random
> value from 0 to 1000.
>
> Run query with equal condition below, query in column with index is much
> faster.
> "select count(*) from test where int_1 = 100;"
> (0.084 seconds vs 15.221 seconds) => > 150x faster
>
> But when run a range query, query in column with index is not much faster.
> "select count(*) from test where int_1 > 700;"
> (7.852 seconds vs 12.889 seconds) => > 0.5x faster
>
> Should index have to optimize data organizaion or algorithm to increase
> performance ?
>
> Thanks a lot.
>
>

Reply via email to