[SQL ] 数据库有查询过后速度特别快?

楼主: jami520 (我的生命因你而发光)   2014-08-16 05:17:48
数据库名称:SQL
内容/问题描述:
目前我有一个资料表有一亿笔的数据
里面还有建立索引,因此每次要插入数据都要特别久
不过只要执行完插入数据之后,当日要查询都变得很快
但隔天就又会是很久的状态,不晓得是否能够持续维持插入后的状态吗?
以及这是什么原因造成的呢? 谢谢
作者: bohei (run and fall)   2014-08-16 07:22:00
表的笔数有频繁且大量的改变吗?
作者: GoalBased (Artificail Intelligence)   2014-08-16 13:29:00
你说得很久 应该是第一次查很久? 后面就不会了
楼主: jami520 (我的生命因你而发光)   2014-08-17 05:26:00
数据插入数据库时,每次都会重新建立索引吗? 因为都要很久的时间,不过数据插入完毕,在当天查询里面资料都飞快,只是到了隔天查相同的SQL语法时,速度就不比昨天插入资料的快,是否因为插入数据时候有跑过所有资料过呢? 这是我比较纳闷的地方,而且如何维持这样状态也是在寻找方法
作者: rockchangnew (rock)   2014-08-17 18:52:00
先看一下执行计划吧,确认索引有被使用。索引有被使用也要是seek才会快,scan也是悲剧
作者: jeamie (jeamie)   2014-08-20 12:36:00
会不会是因为有存在buffer中,隔天buffer清掉所以较慢了?
作者: GoalBased (Artificail Intelligence)   2014-08-21 16:16:00
我一开始也是像楼上想的依样
作者: wilsmart ( Je t'aime)   2014-08-26 14:21:00
我知道 Oracle有 buffer cache 但不确定SQL是不是也有
作者: Minervus   2014-08-28 14:49:00
有,你观察一下Buffer cache ratio跟page 存活时间。搜索速度是Memory>CPU>>Disk,你东西不在Memory了只好从Disk再捞一次放到Memory,以上两个Counter你可以盼断内存够不够用,现在内存不贵,多插几条吧

Links booklink

Contact Us: admin [ a t ] ucptt.com