PriceComparison
Programmer
I am a programmer for PriceComparison.com.
And I have just solved something quite remarkable and hard to solve. For anyone who has any index using an int8 / bigint field.
You should take time to read this.
The problem start when we noticed that any query with that int8 field is always slow. Finally we did an 'explain' of the query.
The server never even cared of using the index. It always does a sequential scan. No index scan eventhough the index is clearly there. We tried to reindex, recreate it, vacuum analyze, etc.... nothing works.
Then we accidentaly made it work?!? Strange?
Here is our first query (the one that does not work).
select * from product where item_number=1234
this query will NEVER use the index.
then we tried this:
select * from product where item_number='1234'
Notice the difference is just the single quotes!!! Now it uses the index all the time!
Wow, and this only happens with int8 / bigint.
I hope this will help somebody.
Andrew_@_PriceComparison.com
And I have just solved something quite remarkable and hard to solve. For anyone who has any index using an int8 / bigint field.
You should take time to read this.
The problem start when we noticed that any query with that int8 field is always slow. Finally we did an 'explain' of the query.
The server never even cared of using the index. It always does a sequential scan. No index scan eventhough the index is clearly there. We tried to reindex, recreate it, vacuum analyze, etc.... nothing works.
Then we accidentaly made it work?!? Strange?
Here is our first query (the one that does not work).
select * from product where item_number=1234
this query will NEVER use the index.
then we tried this:
select * from product where item_number='1234'
Notice the difference is just the single quotes!!! Now it uses the index all the time!
Wow, and this only happens with int8 / bigint.
I hope this will help somebody.
Andrew_@_PriceComparison.com