You should look at Full-text search indexes. I have no idea if oracle offer such a thing - but would be very surprised if they dont.
If not look at something like sphinxsearch.com - works great with geonames data. Shouldnt be too difficult to hook up to a oracal database, either using odbc,
http://sphinxsearch.com/docs/current.html#conf-odbc-dsn or xmlpipe
select * from TABLE1 where NAME LIKE '% London' OR NAME LIKE 'London %' OR NAME LIKE '% London %' OR NAME = 'London'
Hi,
That's a killing query when you have a lot of rows! When you use the % sign in front of the search keyword. It scans the whole table (without index) to get the match. Can be anything from 1 to 9 and from a to z.
Can get faster with more (hardware)resources.
So re-define your query and get try it without the % before the keyword. Must be faster.