I wanted to report an awesome performance boost using tablesample.
In my stored function I was getting a random row using:
select one into x from ones order by random() limit 1;
When the table was smaller it worked fine, but the performance has
slowly gotten worse. This morning I was getting around 8 transactions a
second.
I just replaced it with:
select one into x from ones tablesample bernoulli(1) limit 1;
And now I'm getting 376 transactions a second!
Thank you dev's! Thank you PG 9.5!
-Andy