问题描述
你好
最近,数据库服务器崩溃了,因此将oracle服务器重新安装在另一个服务器上,并从上次备份中恢复,现在一切正常,但是我在某些查询中遇到性能问题,
SELECT p.utmx,
p.utmy,
p.fechahoragps,
p.velocidad,
p.rumbo,
p.edad,
it.FechaHoraInicio
FROM posicion p, InicioTurno it
WHERE p.FechaHoraGPS = it.FechaHoraGPS
AND p.IdVehiculo = it.IdVehiculo
AND p.idvehiculo = 60044
AND p.fechahoragps >=
TO_DATE ('08/05/2017 05:00:00', 'MM/DD/YYYY HH24:MI:SS')
AND p.fechahoragps <=
TO_DATE ('08/05/2017 15:00:00', 'MM/DD/YYYY HH24:MI:SS')
ORDER BY p.fechahoragps
如果我为8月5日进行此查询,则大约需要600毫秒并生成此说明计划
Plan
SELECT STATEMENT CHOOSECost: 7 Bytes: 49 Cardinality: 1
5 SORT ORDER BY Cost: 7 Bytes: 49 Cardinality: 1
4 NESTED LOOPS Cost: 5 Bytes: 49 Cardinality: 1
2 TABLE ACCESS BY INDEX ROWID FCC.INICIOTURNO Cost: 4 Bytes: 18 Cardinality: 1
1 INDEX RANGE SCAN UNIQUE FCC.PK_INICIOTURNO Cost: 3 Cardinality: 161
3 INDEX UNIQUE SCAN UNIQUE FCC.PK_POSICION_PAR Cost: 1 Bytes: 31 Cardinality: 1 Partition #: 5 Partitions accessed #85
但是,如果我对8月6日进行相同的查询过滤,则查询大约需要10秒钟,并生成另一个解释计划
SELECT p.utmx,
p.utmy,
p.fechahoragps,
p.velocidad,
p.rumbo,
p.edad,
it.FechaHoraInicio
FROM posicion p, InicioTurno it
WHERE p.FechaHoraGPS = it.FechaHoraGPS
AND p.IdVehiculo = it.IdVehiculo
AND p.idvehiculo = 60044
AND p.fechahoragps >=
TO_DATE ('08/06/2017 05:00:00', 'MM/DD/YYYY HH24:MI:SS')
AND p.fechahoragps <=
TO_DATE ('08/06/2017 15:00:00', 'MM/DD/YYYY HH24:MI:SS')
ORDER BY p.fechahoragps
Plan
SELECT STATEMENT CHOOSECost: 5 Bytes: 49 Cardinality: 1
4 NESTED LOOPS Cost: 5 Bytes: 49 Cardinality: 1
1 INDEX RANGE SCAN UNIQUE FCC.PK_POSICION_PAR Cost: 3 Bytes: 31 Cardinality: 1 Partition #: 2 Partitions accessed #85
3 TABLE ACCESS BY INDEX ROWID FCC.INICIOTURNO Cost: 2 Bytes: 18 Cardinality: 1
2 INDEX UNIQUE SCAN UNIQUE FCC.PK_INICIOTURNO Cost: 1 Cardinality: 3.429.592
有任何方法可以用第一个解释计划强制第二个查询,并检查它是否更快,或者用第一个解释计划强制数据库进行此查询?
问候。
专家解答
你还在9i上吗?!哎哟。
在较新的版本中,您可以使用SQL计划管理。
但是,当您陷入黑暗时代时,您可以查看存储的轮廓:
https://docs.oracle.com/cd/B10501_01/server.920/a96533/outlines.htm
https://oracle-base.com/articles/misc/outlines
在较新的版本中,您可以使用SQL计划管理。
但是,当您陷入黑暗时代时,您可以查看存储的轮廓:
https://docs.oracle.com/cd/B10501_01/server.920/a96533/outlines.htm
https://oracle-base.com/articles/misc/outlines
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




