Home » RDBMS Server » Performance Tuning » Solaris vs. Windows performance difference
Solaris vs. Windows performance difference [message #151888] Mon, 19 December 2005 11:45 Go to next message
jeffeben
Messages: 40
Registered: July 2005
Location: Dulles, VA
Member
Hi,

A colleague is running a query on both Solaris 9 and Windows XP. The Solaris box has two CPUs and 4 gigs of memory. The Windows box has one CPU and 1 gig. When the query runs on Solaris, it takes 60-70 seconds to execute and uses almost an entire CPU; on the Windows machine, only 4 seconds.

The query is in XML and is a join. I thought that by writing an inline view, the performance would increase, but this is not the case. In fact, it has slowed down.

Any suggestions as to how I can help improve performance? I am including both the original join as well as the inline view.

Thanks,
Jeff

original join
select extractValue(value(e), '/ems-info/managed-element/@name'), 
extractValue(value(e), '/ems-info/managed-element/@resync-ts'),
extractValue(value(s), '/equipment/@name'), 
extractValue(value(s), '/equipment/installed-equipment-object-type'), 
extractValue(value(s), '/equipment/installed-version'), 
extractValue(value(s), '/equipment/installed-serial-number'), 
extractValue(value(s), '/equipment/corba-name/name-element[@name="EquipmentHolder"]/@value'), 
extractValue(value(s), '/equipment/installed-part-number') 
from "emsinfo" e, 
EQUIPMENT s
where 
existsNode(value(s), '/equipment[installed-part-number = "130-0290-910"]') = 1 
AND 
existsNode(value(e), '/ems-info/managed-element/corba-name/name-element[@value="CIENA/LightWorks_ON-Center"]') = 1 
AND
regexp_like(extractValue(value(e), '/ems-info/managed-element/@name'), '^...W|w.*') 
AND 
extractValue(value(s), '/equipment/corba-name/name-element[@name="ManagedElement"]/@value') = extractValue(value(e), '/ems-info/managed-element/corba-name/name-element[@name="ManagedElement"]/@value')


inline view
select 
e.me,
e.ts, 
extractValue(value(s), '/equipment/@name'), 
extractValue(value(s), '/equipment/installed-equipment-object-type'), 
extractValue(value(s), '/equipment/installed-version'), 
extractValue(value(s), '/equipment/installed-serial-number'), 
extractValue(value(s), '/equipment/corba-name/name-element[@name="EquipmentHolder"]/@value'), 
extractValue(value(s), '/equipment/installed-part-number') 
from EQUIPMENT s,
(select extractValue(object_value, '/ems-info/managed-element/corba-name/name-element[@name="ManagedElement"]/@value') me,
          extractValue(object_value, '/ems-info/managed-element/@resync-ts') ts from "emsinfo") e
where 
existsNode(value(s), '/equipment[installed-part-number = "130-0290-910"]') = 1 
AND 
existsNode(value(s), '/equipment/corba-name/name-element[@value="CIENA/LightWorks_ON-Center"]') = 1 
AND 
regexp_like(e.me, '^...W|w.*') 
AND 
extractValue(value(s), '/equipment/corba-name/name-element[@name="ManagedElement"]/@value') = e.me


[Updated on: Mon, 19 December 2005 11:46]

Report message to a moderator

Re: Solaris vs. Windows performance difference [message #151903 is a reply to message #151888] Mon, 19 December 2005 14:12 Go to previous message
smartin
Messages: 1803
Registered: March 2005
Location: Jacksonville, Florida
Senior Member
There is much more that would go into the comparison of two systems than the total amount of RAM and the total number of procs. How much RAM is being used by oracle on each, and how is it being used. What type of processors are they. What is the disk io situation? Tons of factors.
Previous Topic: correlated subquery taking a long time to execute
Next Topic: Finding it impossible to tune this query
Goto Forum:
  


Current Time: Wed Nov 27 07:46:24 CST 2024