database - oracle中的外部表和全局临时表有什么区别?
问题描述
我在 oracle 中使用过外部表,它可以在包含数据的文件上创建(具有许多其他条件)。那么,全局临时表与外部表有何不同?
解决方案
外部表从例如 CSV 文件中获取其内容。数据库本身不存储任何数据。它们的内容对服务器的所有会话(=连接)都是可见的(前提是存在必要的访问权限)。数据独立于数据库而存在,只有在文件被外部更改时才会被删除(或更改)(据我所知,Oracle 无法写入外部表,只能从中读取 - 但我已经很久没有使用它们了,所以这可能在 Oracle 18 或更高版本中发生了变化)
临时表的数据在数据库内存储和管理,但每个会话在表中保留自己的数据副本。当会话断开或事务结束时(取决于临时表的定义),Oracle 会自动删除数据。临时表中的数据永远不会在数据库服务器重新启动后继续存在。
推荐阅读
- python - 如何根据输入正确替换文本文件中的数据
- angular - 无法注册 ServiceWorker - Angular、Express
- python - 使用 BeautifulSoup 抓取一个 aspx 网站
- reactjs - React - 每个文件的上传进度
- docker - 如何从 dockerfile 构建奇点容器
- javascript - CSS jQuery 中的表格列(标题)宽度调整和表格宽度 100% 问题
- c# - 通过在配置中实现 JWT 导致 ASP.net Core API 错误
- audio - 如何销毁 RecyclerView 中的所有 webview?
- python - 如何找到离某个点最近的向量
- gis - 在 NetLogo 中,如何在从 OpenStreetMap 下载的道路上创建海龟?