On 07/12/2012 03:17 PM, peixinhosdalua wrote:

> Regarding your suggestions, i need to make a search by '%word%' not 'word%'. 
> For example, most companies have a commercial name or brand that they use and 
> these are different from the juridic name. It is the juridic name that is 
> inserted in the table because this table is using to make invoices. So it is 
> standard to have companies names like: Something Brand LTD and people search 
> for Brand and if they do it like 'Brand%' never appears.
>
> Same can happen for phones if you search with out without prefixes. Also the 
> VAT-ID. For example VAT's in Europe have letters at beginning but most people 
> omitted the letters when searching for VAT-ID from their own country.
>
> This is even more true when searching for products.
>
> So, how can i improve the usage of the like or containing with the %word%?


You may try to create an extra search-table sth. like 
(searchword,tablename,fieldname,ID) and fill this on insert,update or 
delete using triggers on your original tables,
Create one or more  stored procedures that do a
for select tablename,id from searchtable where searchword like 
'%whatever%'  into ..
(maybe trying a starting with first)

and returns the values you want (via execute statement)   .

This will reduce the table scan to one table.

hth
fsg

-- 
"Fascinating creatures, phoenixes, they can carry immensely heavy loads,
   their tears have healing powers and they make highly faithful pets."
       - J.K. Rowling


Reply via email to