作者jami520 (我的生命因你而发光)
看板Database
标题[SQL ] 资料库有查询过後速度特别快?
时间Sat Aug 16 05:17:48 2014
资料库名称:SQL
内容/问题描述:
目前我有一个资料表有一亿笔的数据
里面还有建立索引,因此每次要插入数据都要特别久
不过只要执行完插入数据之後,当日要查询都变得很快
但隔天就又会是很久的状态,不晓得是否能够持续维持插入後的状态吗?
以及这是什麽原因造成的呢? 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 182.235.178.103
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Database/M.1408137471.A.5FC.html
1F:→ bohei: 表的笔数有频繁且大量的改变吗? 08/16 07:22
2F:推 GoalBased: 你说得很久 应该是第一次查很久? 後面就不会了 08/16 13:29
3F:→ jami520: 数据插入资料库时,每次都会重新建立索引吗? 因为都要很 08/17 05:26
4F:→ jami520: 久的时间,不过数据插入完毕,在当天查询里面资料都飞快, 08/17 05:27
5F:→ jami520: 只是到了隔天查相同的SQL语法时,速度就不比昨天插入资 08/17 05:28
6F:→ jami520: 料的快,是否因为插入数据时候有跑过所有资料过呢? 这是 08/17 05:29
7F:→ jami520: 我比较纳闷的地方,而且如何维持这样状态也是在寻找方法 08/17 05:29
8F:推 rockchangnew: 先看一下执行计划吧,确认索引有被使用。 08/17 18:52
9F:推 rockchangnew: 索引有被使用也要是seek才会快,scan也是悲剧 08/17 18:53
10F:→ jeamie: 会不会是因为有存在buffer中,隔天buffer清掉所以较慢了? 08/20 12:36
11F:推 GoalBased: 我一开始也是像楼上想的依样 08/21 16:16
12F:→ wilsmart: 我知道 Oracle有 buffer cache 但不确定SQL是不是也有 08/26 14:21
13F:推 Minervus: 有,你观察一下Buffer cache ratio跟page 存活时间。 08/28 14:49
14F:→ Minervus: 搜索速度是Memory>CPU>>Disk,你东西不在Memory了只好从 08/28 14:50
15F:→ Minervus: Disk再捞一次放到Memory,以上两个Counter你可以盼断记 08/28 14:51
16F:推 Minervus: 忆体够不够用,现在记忆体不贵,多插几条吧 08/28 14:54