1、索引、檢視、儲存過程、事務
2、資料庫引擎
3、資料庫優化
4、資料庫遷移、災備
一、索引
索引型別:普通索引、唯一索引、聚合索引、非聚合索引
1、原理:
2、優缺點:
唯一索引保證表中資料唯
一、加快查詢速度、加強表之間的聯絡
額外占用物理空間、會根據資料庫表的curd而變動
3、使用場景
經常需要搜尋的列
資料改變量小的表(比如使用者表)
經常使用的where語句條件的列
定義為text、image、bit的列不應該使用索引
二、事務
acid 原子性、一致性、隔離性、永續性
mysql隔離級別是 可重複讀
oracle隔離級別是 讀已提交
四種隔離級別:
三、表鎖、行鎖
儲存引擎myisam是表級鎖
鎖的作用:解決併發訪問的一致性
表級鎖 只有持有表級鎖的執行緒才可以進行更新,其他的讀、寫操作都會等待,直到鎖釋放
頁面鎖併發鎖:解決同時插入、更新等操作,myisam可以設定併發鎖
怎麼新增表級鎖:myisam儲存引擎 在執行查詢、更新等操作會自動新增表級鎖
儲存引擎innodb是行級鎖
與myisam區別:支援事務、採用行級鎖
innodb實現行鎖方式
只有通過索引查詢資料的時候,才會使用行鎖,否則使用表鎖
innodb什麼時候用表鎖
1、事務需要更新大部分或者全部資料,如果使用預設行鎖,更新效率較低,而且可能死鎖、鎖等待時間長
2、事務涉及多個表,使用行鎖,很可能產生死鎖,造成大量事務回滾
死鎖預防死鎖:新增鎖的等待時間
死鎖後解決方法:kill掉執行緒
參考鏈結
資料庫面試題總結
總結一下常見的資料庫相關的面試題。資料庫分類問題 資料庫大小寫敏感問題 sql中like的用法 sql中regexp正規表示式的用法 正規表示式規則 在這裡,我認為通常資料庫的分類分為兩種 關係型資料庫和非關係型資料庫。1.like like可以和萬用字元 搭配,它包含的意思分別是任意個數的字元 任...
面試題總結 資料庫問題
1.mysql 索引使用的注意事項 資料庫索引 索引與主鍵的區別 2.ddl dml dcl分別指什麼 3.explain命令 顯示了mysql如何使用索引來處理select語句以及連線表,現實的資訊可以幫助選擇更好的索引和寫出更優化的查詢語句 4.left join,right join,inne...
面試題 資料庫
今天面試,遇到資料庫方面的問題,由於好久沒接觸過,很多都忘記了,回來查了資料,整理一下 1 觸發器與儲存過程的區別 觸發器 是一種特殊型別的儲存過程,當使用下面的一種或多種資料修改操作在指定表中對資料進行修改時,觸發器會生效 update insert 或 delete。觸發器可以查詢其它表,而且可...