順分面試題:
你都用過哪些資料庫,資料庫最佳化操作
(推薦教學:java教學影片)
回答:
1、根據服務層面
配置mysql效能最佳化參數;
2、從系統層面增強mysql的效能:優化資料表結構
① 將字段較多的表分解成多個表
對於字段較多的表,如果有些字段的使用頻率很低,可以將這些字段分離出來形成新表。因為當一個表格的資料量很大時,會因為存在使用頻率較低的欄位而使查詢速度變慢。
(更多相關面試題推薦:java面試題目及答案)
② 增加中間表
對於經常需要聯合查詢的表,可以建立中間表以提高查詢效率。透過建立中間表,把需要經常聯合查詢的資料插入中間表,然後將原來的聯合查詢改為對中間表的查詢,以此來提高查詢效率。
3、從資料庫層級增強效能
優化SQL語句,合理使用欄位索引。
4、從程式碼層面增強效能:使用快取和NoSQL資料庫方式存儲,如MongoDB/Memcached/Redis來緩解高並發下資料庫查詢的壓力。
5、減少資料庫操作次數,盡量使用資料庫存取驅動的批次方法。
6、不常使用的資料遷移備份,避免每次都在海量資料中去檢索。
7、提升資料庫伺服器硬體配置,或是建構資料庫叢集。
8、程式設計手段防止SQL注入:使用JDBC PreparedStatement按位插入或查詢;正規表示式過濾(非法字串過濾);
相關推薦:java入門教學
以上是java面試之資料庫效能優化的詳細內容。更多資訊請關注PHP中文網其他相關文章!