postgrel ilike

postgresql ilike /like 和upper/lower

postgresql 是大小写敏感的,所以要不你强制使用大写或小写,要不使用ilike,或者使用upper/lower先强制转换字段值为大小或小写    。实际测试(相对而言,在80万记录中查询,均没有使用索引,应该也用不了。虽然这里barcode/box_barcode可以使用upper建立索引的

CREATE INDEX tabindex ON tab (upper(col));

)

(barcode) like '%9M0AB%' or (box_barcode) like '%9M0AB%'   591毫秒

(barcode) ilike '%9M0AB%' or (box_barcode) ilike '%9M0AB%'  3070毫秒

upper(barcode) like '%9M0AB%' or upper (box_barcode) like '%9M0AB%' 1865毫秒

所以,ilike 慎重使用,upper/lower 会是比较折衷的方案   

你可能感兴趣的:(postgrel)