表变量存在于内存中难道一直是被误解的!!
今天看《sqlserver2005技术内幕》作者在文中写到:表变量被误解的两个理解,一种是表变量存在于内存中,另外一种是表变量比临时表更好。
因此我还网上特意再搜索一下表变量与临时表的区别,几乎都是写表变量存在于内存中,怎么会有这样的误传???
该书中写到其实临时表与表变量都是物理的形式存在于tempdb中,当表足够小,sqlserver有足够内存时临时表与表变量的页都会驻留在缓存中
------解决方案--------------------
你说得这个“sys.dm_os_buffer_descriptors 应该是跟内存(buffer pool)有关的喔 ”提得太好了,我正愁没有这样的机会对这点进行解释,我在吃饭,吃完后会详细解释表变量,临时表的第三大误解。