千家论坛_弱电智能化技术与工程讨论(建筑智能,家居智能,人工智能)

家居布线与家庭组网
收藏本版 (7) |订阅

家居布线与家庭组网 今日: 2376 |主题: 4096

发新帖
打印 上一主题 下一主题

数据库表和应用程序在内存和磁盘中存储有何区别?...

[复制链接]
tf_wj 发布于: 2004-4-28 13:06 354 次浏览 1 位用户参与讨论
跳转到指定楼层

我的理解是这样的,可否正确?望各位老鸟指正:

数据库表和应用程序在内存和磁盘中存储的区别:

1、对数据表而言,在磁盘中,首先记录是以数据行存入数据页中,再由数据页构成范围,再形成文件,最终以文件的形式存储,文件里面是数据页,以静态形式存储于磁盘中。当应用程序操作数据库中的数据时,被操作的数据库或表被调入内存的缓冲区中,在内存的缓冲区中开辟数据空间,当操作执行完毕,则缓冲区中的数据再保存到磁盘的数据页中,从而实现永久存储。

2、对应用程序而言,应用程序的存储与数据表的存储是不同的,应用程序在磁盘中,只是存储编译后的源程序代码和符号表而已,以文件的形式保存,磁盘中是不为任何变量和程序单元开辟数据空间的,只是开辟代码空间。当应用程序被调入内存时,首先会根据符号表为全局变量和静态局部变量开辟空间,在程序运行时,再根据符号表为局部变量和程序单元开辟代码空间和数据空间。

需要强调的是:应用程序在磁盘中存储的是编译后的源程序代码和符号表,源程序在编译后,会为全局变量和局部静态变量开辟空间,这个空间只是在内存中才会开辟,而在磁盘中只是保存其代码和符号表,当程序被加载到内存时,首先会根据符号表为全局变量和静态局部变量开辟空间,在程序运行时,再根据符号表为局部变量和程序单元开辟代码空间和数据空间。

回复

使用道具 举报

已有1人评论

新浪微博达人勋

千家认证

沙发
jiff 发表于 2004-5-13 22:40:00

恩,完全同意。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 千家通行证登陆

本版积分规则

千家智客微信号
千家智客微信
玩物说商城
玩物说商城