我编写了一个数据库迁移脚本,它连接了来自SQL Server 2005的3个表,并将结果上传到AWS数据库。查询类似于以下内容:
Books、Editions和BookExtras表共有数百万行记录。SQL服务器将会把所有这些记录加载到内存中进行联接。我的一些队友担心这样会增加内存压力,从而导致脚本崩溃。我认为操作系统会根据需要为该进程分配足够的物理内存,我们不必担心,因为虚拟内存机制会处理好这一切。
有人能否列举一下使用操作系统页面的超大查询和在查询本身中使用分页加载少量记录之间的利弊呢?
SELECT a.x, b.y, c.z
FROM Books a join Editions b on a.id = b.book_id
join BookExtras c on c.edition_id = b.id
Books、Editions和BookExtras表共有数百万行记录。SQL服务器将会把所有这些记录加载到内存中进行联接。我的一些队友担心这样会增加内存压力,从而导致脚本崩溃。我认为操作系统会根据需要为该进程分配足够的物理内存,我们不必担心,因为虚拟内存机制会处理好这一切。
有人能否列举一下使用操作系统页面的超大查询和在查询本身中使用分页加载少量记录之间的利弊呢?