最有效的方法,採用預編譯指令集
使用正規表示式過濾引數
字串過濾或替換
前端判斷是否有非法字元,尋找出能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 定義外來鍵的關鍵字是 ...