I have created a index
create index leadaddress_phone_idx on leadaddress(regexp_replace((phone)::text, '[^0-9]*'::text, ''::text, 'g'::text));
But the index is not using.
explain select * from leadaddress where regexp_replace(phone,'[^0-9]*','','g') like '%2159438606';
QUERY PLAN
--------------------------------------------------------------------------------------------------------
Seq Scan on leadaddress (cost=100000000.00..100009699.81 rows=1 width=97)
Filter: (regexp_replace((phone)::text, '[^0-9]*'::text, ''::text, 'g'::text) ~~ '%2159438606'::text)
QUERY PLAN
--------------------------------------------------------------------------------------------------------
Seq Scan on leadaddress (cost=100000000.00..100009699.81 rows=1 width=97)
Filter: (regexp_replace((phone)::text, '[^0-9]*'::text, ''::text, 'g'::text) ~~ '%2159438606'::text)
Could anyone please tell me why? I analyzed the table after index creation.