Oracle客户端在跨架构运行查询时使用了多少数据/网络?
当我运行从模式复制数据的查询时,它是在服务器端执行所有SQL,还是将数据复制到本地应用程序,然后将其推回数据库 这两个表位于同一个数据库中,但该数据库是通过VPN访问的。如果是跨数据库的,它会改变吗 例如(在蟾蜍数据点中运行):Oracle客户端在跨架构运行查询时使用了多少数据/网络?,oracle,azure,Oracle,Azure,当我运行从模式复制数据的查询时,它是在服务器端执行所有SQL,还是将数据复制到本地应用程序,然后将其推回数据库 这两个表位于同一个数据库中,但该数据库是通过VPN访问的。如果是跨数据库的,它会改变吗 例如(在蟾蜍数据点中运行): 我问这个问题的目的是因为我正在获取Azure Cloud中虚拟机的报价,并希望确保我不会在数据成本上打破银行记录。在同一数据库上处理SQL语句通常完全在服务器上进行,并且生成的网络流量很少 在Oracle中,模式是一个逻辑对象。他们之间没有物理障碍。在使用两个表的SQL
我问这个问题的目的是因为我正在获取Azure Cloud中虚拟机的报价,并希望确保我不会在数据成本上打破银行记录。在同一数据库上处理SQL语句通常完全在服务器上进行,并且生成的网络流量很少 在Oracle中,模式是一个逻辑对象。他们之间没有物理障碍。在使用两个表的SQL查询中,如果这些表位于相同的模式或不同的模式中(特权问题除外),则没有区别 一些例外情况:
--SQL*Net bytes sent for a session.
select *
from gv$sesstat
join v$statname
on gv$sesstat.statistic# = v$statname.statistic#
--You probably also want to filter for a specific INST_ID and SID here.
where lower(display_name) like '%sql*net%';
--SQL*Net bytes sent for the entire system.
select *
from gv$sysstat
where lower(name) like '%sql*net%'
order by value desc;
如果是跨数据库的,则需要从一个数据库到另一个数据库的数据库链接。数据将通过链接进行复制。本地应用程序不参与其中。这正是我想要的。谢谢你的详细解释!
--SQL*Net bytes sent for a session.
select *
from gv$sesstat
join v$statname
on gv$sesstat.statistic# = v$statname.statistic#
--You probably also want to filter for a specific INST_ID and SID here.
where lower(display_name) like '%sql*net%';
--SQL*Net bytes sent for the entire system.
select *
from gv$sysstat
where lower(name) like '%sql*net%'
order by value desc;