面試集錦(七)資料庫

2021-09-24 08:38:45 字數 890 閱讀 2409

最有效的方法,採用預編譯指令集

使用正規表示式過濾引數

字串過濾或替換

前端判斷是否有非法字元,尋找出能sql注入的地方

列中有空值不建索引

使用短索引

對where子句使用的列建立索引

多個列where或order by的建立組合索引

對like語句,%開頭不用結尾用(最左不用原則)  why:索引相當於字典,不知道開頭怎麼查?

使用join語句,使用內連線代替外連線,使用小表驅動大表

使用explain分析查詢語句

查詢日誌,對執行慢的sql進行優化

千萬級分頁時使用limit

對於經常使用的查詢,開啟快取

批量操作

字段盡量設定為not null

字段長度固定

將表分割槽

讀寫分離/建立主從關係

根據配置->建立sql sessionfactory->(根據配置檔案,註解)sqlsession->執行對映的sql語句->關閉sqlsession。

悲觀鎖與樂觀鎖的實際應用

首先假設資料衝突很少,只有在資料提交修改的時候才進行校驗,如果衝突了則不會進行更新。

通常的實現方式增加乙個version欄位,為每一條資料加上版本。每次更新的時候version+1,並且更新時候帶上版本號。

樂觀鎖在實際應用相對較多,它可以提供更好的併發訪問,並且資料庫開銷較少,但是有可能存在髒讀的情況。

當乙個事務鎖定了一些資料之後,只有當當前鎖提交了事務,釋放了鎖,其他事務才能獲得鎖並執行操作。

悲觀鎖一般是用於併發不是很高,並且不允許髒讀等情況。但是對資料庫資源消耗較大。

資料庫的水平拆分與垂直拆分

資料庫知識學習以及面試集錦 MySQL

資料庫事務及事務的四大特徵簡述 答 acid,原子性,一致性,隔離性,永續性,參考 mysql是框架架構簡述 答 包括客戶端連線管理,使用執行緒池,查詢快取,解析查詢器,優化器,儲存引擎 mysql邏輯架構整體分為三層,最上層為客戶端層,並非mysql所獨有,諸如 連線處理 授權認證 安全等功能均在...

資料庫 mysql使用集錦

開發中總是會涉及很多技術點,這不把遇到的使用的東西記錄下,以供翻閱。1.客戶端的連線數在資料庫中有配置項,使用下面可配置。show variables like max connections 2.設定連線數方法 需要管理員許可權 set global max connections 1000 3....

Oracle資料庫操作集錦

oracle資料庫操作集錦 資料庫表的作用是什麼?在關係型資料庫中,所有資料的組織,管理和使用都是表為基礎的。oracle 資料庫中的資訊都要存放在表中,表的邏輯結構是以行列為組織結構的,它是一種邏輯結構,在資料庫中並不存在。資料庫表定義主鍵的關鍵字是 primary key 定義外來鍵的關鍵字是 ...