临时表有什么用?为什么不用缓存

09-05-12 spikeme
    

临时表有什么用?有人说主要有如下用处:
1.暂存中间结果,以便再处理或者格式化。
2.提高效率, 不用每次都再次查詢數據庫, 這在一些後台數據查詢中對資源, 性能影響比較大

但是,如果只是保存中间结果,那为什么不保存到缓存中去,缓存效率不比数据库效率更高吗。
因为做了好几年项目了,从来没有用过,所以想了解下,谢谢。

    

beepbug
2009-05-13 07:35

临时表是持久化的。

usejava
2009-05-13 08:49

临时表是数据库session隔离的,也就是说多个数据库连接可以同时使用一个临时表,而数据互相不可见。一般在session结束或者commit后数据消失。
临时表主要用于存放中间结果,对性能提高有限。因为临时表使用Temp表空间,碎片比较厉害。

ACoder
2009-05-13 10:56

主要看运算集中在什么地方,如果主要计算是在应用层中,那么就应该缓存在应用层的缓存中,而如果运算主要集中在数据库层,那么一般用临时表。

xmuzyu
2009-05-13 15:02

to acoder
呵呵,说的很有道理。

3Go 1 2 3 下一页