我編寫了一個數據庫遷移腳本,它從SQL Server 2005連接3個表並將結果上傳到AWS數據庫。查詢是這樣的: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服務器會將所有這些記錄加載到內存中並加入它們。一些隊友的擔憂是會增加內存壓力,腳本會崩潰。我的觀點是操作系統會分配它認爲足夠用於這個過程的任何物理內存,我們不必擔心虛擬內存機制會照顧它。
有人可以突出像上面這樣使用操作系統頁面反對在查詢本身中使用分頁來加載內存中的幾條記錄的大型查詢的利弊嗎?