Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Index question
Teresita
Hi!!
Let explain more about my situation.
The company that I work for is a chain of stores around some city's on
Mexico, they bought Lawson a system that uses Oracle to manage the data
bases, at first they use SQL Server 2000, but I wasn't enough to manager all
the information.
The structure of the table is all ready done and I have to learn it to do
some reports that Lawson don't have, change or delete information and export
some information to dbf files. Because we was using SQL Server I used Store
procedures to return the select result to VB recordset and the I pass the
select result to Crystal Report or to a DBF file.
Well I see that in Oracle the store procedure do not returns the result set
has easy has SQL Server so I use and statement that after execute it returns
me the result in a record set.
sQuery = "SELECT COMPANY,LOCATION, R_NAME FROM ICLOCATION " & _
"WHERE COMPANY=2000 OR COMPANY=2001 OR COMPANY=2002 order by
COMPANY,LOCATION"
Set recRS = New ADODB.Recordset
recRS.Open sQuery, gcnOracle, adOpenForwardOnly, adLockReadOnly, adCmdText
or execute a delete or update statement
sSQL = "update /*+ INDEX(itemloc ITLSET2) */ itemloc set average_cost =" &
costo & " where (company='2000') and item= '" & Arti & "'"
gcnOracle.Execute sSQL
gcnOracle.Execute "Commit", dbSQLPassThrough
Back to my problem:
In this case the update of the average cost has to be done on the table Item
location ( ITEMLOC) that have all the item that each location( store) have.
The locations have a company, when we changes the average cost is per
company ( each company represent a different city)
So my boss execute the update statement
sSQL = "update itemloc set average_cost =" & costo & " where (company='2000') and item= '" & Arti & "'"
and she told me that per item it takes like 10 seconds. After read the article that I mention she changes the statement to this : sSQL = "update /*+ INDEX(itemloc ITLSET2) */ itemloc set average_cost =" & costo & " where (company='2000') and item= '" & Arti & "'"
ITLSET2 is a index that have company(1), location(2) and Item(3) and it takes 2 seconds per item, so that is way she is convinced that we have to uses the /*+ INDEX(itemloc ITLSET2) */ in all of our select, update or delete statement.
I hope you undestant my English and my problem too, because I have to do some really complicated queries that have like 3 or 5 tables in them, and using this method will give me some serious complications, maybe in this case (change of the average cost) is not too dangerous. But I have to give her strong statements to change her mind.
Thanks for everything friends!!
>>> [EMAIL PROTECTED] 06/25/03 06:10PM >>> Teresita,
I don't fully understand whether adding or removing a hint caused the problem but like Stephane said - you should probably stay away from them for now. If adding a hint decreased performance then you have proved this for yourself.
A couple of important points:
Regards,
Mark.
"Teresita Castro" <[EMAIL PROTECTED] To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]> martmx.com> cc: Sent by: Subject: Re: Index question [EMAIL PROTECTED] om 26/06/2003 09:29 Please respond to ORACLE-L
Ophss...I have a terrible problem, I am using VB with Oracle and since we put that instruccion on the execute instruction our execution time decrease.
The problem is that my boss was the one that found that instruction and I have to told her not to uses it, but with her I have to show some evidence that show why now to uses hits.
Do you have any information that I can show to her.
Thanks!!!
>>> [EMAIL PROTECTED] 06/25/03 02:34PM >>> Teresita,
Since you advertise yourself as a newbie, listen to an old-timer : for the next two years, forget about hints. You risk doing more harm than good.
-- Regards, Stephane Faroult Oriole Software -- Please see the official ORACLE-L FAQ: http://www.orafaq.net <http://www.orafaq.net> -- Author: Stephane Faroult INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com <http://www.fatcity.com> San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>> Privileged/Confidential information may be contained in this message. If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone. In such case, you should destroy this message and kindly notify the sender by reply e-mail or by telephone on (61 3) 9612-6999. Please advise immediately if you or your employer does not consent to Internet e-mail for messages of this kind. Opinions, conclusions and other information in this message that do not relate to the official business of Transurban City Link Ltd shall be understood as neither given nor endorsed by it. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>> -- Please see the official ORACLE-L FAQ: http://www.orafaq.net <http://www.orafaq.net> -- Author: Mark Richard INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com <http://www.fatcity.com> San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: DENNIS WILLIAMS INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Thu Jun 26 2003 - 10:40:32 CDT