oracle查询第一次慢,第二次快?
SELECTrownumid,p.idASpositionId,p.lat,p.lng,p.gpsTime,p.address,p.speed,p.carStatus,p...
SELECT rownum id,p.id AS positionId,p.lat,p.lng,p.gpsTime,
p.address,p.speed,p.carStatus,p.isAlarm,p.car_id as carId,c.carMark,c.carName
FROM Position p INNER JOIN Car c ON p.car_id=c.id WHERE p.car_Id = '1780'
order by p.gpsTime
因为需要我设置两个索引p.gpsTime和positionId,但为什么第一次查询的时侯还是很慢,再执行一遍就会很快呢?
但是该怎么解决这个问题呢?我需要的是第一次就快。 展开
p.address,p.speed,p.carStatus,p.isAlarm,p.car_id as carId,c.carMark,c.carName
FROM Position p INNER JOIN Car c ON p.car_id=c.id WHERE p.car_Id = '1780'
order by p.gpsTime
因为需要我设置两个索引p.gpsTime和positionId,但为什么第一次查询的时侯还是很慢,再执行一遍就会很快呢?
但是该怎么解决这个问题呢?我需要的是第一次就快。 展开
5个回答
展开全部
因为数据已经存在内存中了执行完一次以后,我猜的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看笑亏宽亮你的分页语法是这么碰巧神写的?
推荐这么写:
select * from ( select a.*, rownum rn from
(
select count(*) over() datacnt,ta.* from ta
)
) a where rownum <= 100
) where rn >= 75
推荐这么写:
select * from ( select a.*, rownum rn from
(
select count(*) over() datacnt,ta.* from ta
)
) a where rownum <= 100
) where rn >= 75
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为第一次你的索引还没起作用 后面应该都会快了 不知道对不对 索引本质就是预排序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询