當前位置:首頁 » 文件管理 » select緩存

select緩存

發布時間: 2025-02-16 05:55:36

『壹』 面試官:select語句和update語句分別是怎麼執行的

深入了解sql執行過程,無論是SELECT還是UPDATE語句,都遵循了類似的流程,但具體實現存在差異。理解這些差異不僅有助於面試,更能優化SQL執行效率。



SELECT語句執行流程


執行SELECT語句時,主要分為以下幾個步驟:



  • 連接器: 首先校驗用戶名和密碼,驗證許可權。連接成功後,許可權范圍內的操作才能繼續。

  • 檢索緩存: 從緩存中查找是否執行過此SQL,緩存命中直接返回結果,未命中則繼續。

  • 分析器: 包括詞法分析和語法分析,確定語句類型和具體操作。

  • 優化器: 根據解析樹生成最優執行計劃,考慮使用索引、表關聯順序等。

  • 執行器: 執行優化後的計劃,調用存儲引擎讀介面,獲取數據。


UPDATE語句執行流程


執行UPDATE語句時,同樣經過連接器、分析器、優化器、執行器,但區別在於涉及redo log和binlog的操作。



  • redo log: 先寫日誌,後更新內存和磁碟,提高效率。

  • binlog: 記錄原始SQL,用於數據恢復和復制。


關鍵點


在執行過程中,SELECT和UPDATE的主要區別在於對數據的訪問和修改。同時,使用緩存、優化器、redo log和binlog等功能,可以顯著提升SQL執行效率。理解這些技術的原理和應用,對於提升資料庫性能至關重要。



綜上所述,SELECT和UPDATE語句在執行流程上有相似之處,但在具體操作上存在差異,涉及的數據訪問和修改方式不同。深入理解這些差異,有助於優化SQL查詢和資料庫性能。這一內容涉及的技術點包括緩存機制、SQL解析與優化、日誌系統等,這些都是資料庫管理中不可或缺的組成部分。

『貳』 MyBatis二級緩存帶來的問題

MyBatis二級緩存使用的在某些場景下會出問題,來看一下為什麼這么說。

假設我有一條select語句(開啟了二級緩存):

selecta.col1, a.col2, a.col3, b.col1, b.col2, b.col3fromtableA a, tableB bwherea.id= b.id;

對於tableA與tableB的操作定義在兩個Mapper中,分別叫做MapperA與MapperB,即它們屬於兩個命名空間,如果此時啟用緩存:

MapperA中執行上述sql語句查詢這6個欄位

tableB更新了col1與col2兩個欄位

MapperA再次執行上述sql語句查詢這6個欄位(前提是沒有執行過任何insert、delete、update操作)

此時問題就來了,即使第(2)步tableB更新了col1與col2兩個欄位,第(3)步MapperA走二級緩存查詢到的這6個欄位依然是原來的這6個欄位的值,因為我們從CacheKey的3組條件來看:

<select>標簽所在的Mapper的Namespace+<select>標簽的id屬性

RowBounds的offset和limit屬性,RowBounds是MyBatis用於處理分頁的一個類,offset默認為0,limit默認為Integer.MAX_VALUE

<select>標簽中定義的sql語句

對於MapperA來說,其中的任何一個條件都沒有變化,自然會將原結果返回。

這個問題對於MyBatis的二級緩存來說是一個無解的問題,因此使用MyBatis二級緩存有一個前提: 必須保證所有的增刪改查都在同一個命名空間下才行 。

『叄』 Oracle如何清理多次select查詢後在內存中的緩存數據

ALTER SYSTEM FLUSH SHARED_POOL

這個語句清除SGA中的 shared pool,shared pool存儲下面的信息:
1、數據字典
2、Shared SQL & PL/SQL,存儲過程、函數、包以及觸發器
但是有一點要清楚的是假如這些對象正在使用時是無法清除的。

熱點內容
imac存儲空間為什麼這么小 發布:2025-04-22 15:45:30 瀏覽:223
上傳時速是0 發布:2025-04-22 15:37:49 瀏覽:568
0基礎的編程 發布:2025-04-22 15:37:09 瀏覽:205
vnc怎麼查伺服器ip 發布:2025-04-22 15:29:20 瀏覽:158
百度雲ftp伺服器 發布:2025-04-22 15:17:50 瀏覽:656
平板哪個配置最高 發布:2025-04-22 15:16:20 瀏覽:830
天工編程 發布:2025-04-22 15:08:36 瀏覽:381
java感想 發布:2025-04-22 15:02:57 瀏覽:895
破解互聯網密碼多少錢 發布:2025-04-22 14:49:32 瀏覽:747
非框架梁箍筋加密 發布:2025-04-22 14:47:58 瀏覽:493