SQL缓存问题,第一次查慢,第二次查快
发布网友
发布时间:2022-04-29 15:58
我来回答
共3个回答
热心网友
时间:2022-04-15 03:11
是一个内存常驻的问题,
但是实际上是你的表缺少索引,你在姓名列添加索引 就不会有这种情况了。
产生的原因可能:你的表行数很多,由于没有添加索引,需要进行全表扫描,第一次需要从物理磁盘中将全表加载到内存中,很慢。第二次因为全表在内存中 所以查找很快。
如果添加了索引的话,就不需要全表扫描,即使第一次也不需要加载全表数据来自:求助得到的回答
热心网友
时间:2022-04-15 04:29
查询时,数据库引擎会判断,如果数据在内存中,则会从内存读取数据,如果数据不在内存在,则先从硬盘读到内存,然后再供查询。
所以第一次查的时候,根据你的语句,数据库引擎会把一些数据从硬盘读到内存,第二次再查的时候,就从内存读数据,就快了很多了。
oracle有一个功能是让表常驻内存。追问我指的快,不仅是查询条件一样,查询条件不一样时也快啊 如第一次姓名为张三,第二次为李四
热心网友
时间:2022-04-15 06:04
ykj_fj的答案是正确的。
从内存中读取数据的速度要比从硬盘中读取的速度快的多。