Re: Question about search performance
Re: Question about search performance
- Subject: Re: Question about search performance
- From: Chuck Hill <email@hidden>
- Date: Tue, 16 Sep 2008 10:40:12 -0700
On Sep 16, 2008, at 10:35 AM, Joshua Dubey wrote:
Hi,
I am seeing some search performance behavior I don't understand and
am hoping someone can provide some insight.
We have an application that searches a very large table (millions of
rows) for orders. We have options to search with wild cards, and
and do case insensitive searches. Typical generated SQL for case
insensitive wild card search looks like this:
SELECT <bunch of attributes>, from ORDERS T0 WHERE
UPPER(T0.EMAIL_ADDRESS) LIKE UPPER('email@hidden%') ESCAPE '\;
This query can take up to a minute and a half. It takes the same
amount of time whether the query is run directly against our
database or using our application. This is what I would expect.
A case insensitive non wild card search produces SQL below
SELECT <bunch of attributes>, from ORDERS T0 WHERE
UPPER(T0.EMAIL_ADDRESS) LIKE UPPER('email@hidden') ESCAPE '\;
Here is what I don't understand: If I run the above query directly
against our database, it takes about 12 seconds.
I am somewhat surprised it would run that fast. Are you certain you
are timing this exact query?
However, running it through the app still takes about a minute and
a half.
Can anyone explain why this might be from an EOF perspective?
Not immediately. But I would just avoid this whole issue and make the
column collate case insensitively:
ALTER COLUMN "ORDERS"."EMAIL_ADDRESS" TO COLLATE
INFORMATION_SCHEMA.CASE_INSENSITIVE;
Both will be much faster.
Chuck
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden