資料庫面試 SQL相關概念及常用的SQL優化方式

2021-09-02 07:59:03 字數 935 閱讀 6648

in 和 not in 應避免使用,會導致全表掃瞄

應盡量避免在 where 子句中對字段進行函式操作,這將導致引擎放棄使用索引而進行全表掃瞄

不要使用select * from t的形式進行查詢

避免出現隱式轉換,保持sql中變數型別與字段型別一直

當需要插入大量資料時,使用copy方式,避免執行大量 insert 語句

就是被繫結在一起作為乙個邏輯工作單元的sql語句分組,

如果任何乙個語句操作失敗那麼整個操作就被失敗,

以後操作就會回滾到操作前狀態,或者是上有個節點。

為了確保要麼執行,要麼不執行,就可以使用事務。

鎖是實現事務的關鍵,鎖可以保證事務的完整性和併發性,它可以使某些資料的擁有者,在某段時間內不能使用某些資料或資料結構。

原子性(atomicity)

原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,這和前面兩篇部落格介紹事務的功能是一樣的概念,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。

一致性(consistency)

一致性是指事務必須使資料庫從乙個一致性狀態變換到另乙個一致性狀態,也就是說乙個事務執行之前和執行之後都必須處於一致性狀態。

隔離性(isolation)

隔離性是當多個使用者併發訪問資料庫時,比如操作同一張表時,資料庫為每乙個使用者開啟的事務,不能被其他事務的操作所干擾,多個併發事務之間要相互隔離。

即要達到這麼一種效果:對於任意兩個併發的事務t1和t2,在事務t1看來,t2要麼在t1開始之前就已經結束,要麼在t1結束之後才開始,這樣每個事務都感覺不到有其他事務在併發地執行。

關於事務的隔離性資料庫提供了多種隔離級別,

永續性(durability)

永續性是指乙個事務一旦被提交了,那麼對資料庫中的資料的改變就是永久性的,即便是在資料庫系統遇到故障的情況下也不會丟失提交事務的操作。

資料庫概念及常用關係型資料庫

資料庫階段 人工管理 檔案系統 資料庫系統。資料庫概念 database db是按照資料結構來組織,儲存,管理資料的倉庫,是乙個以某種有組織的方式儲存的資料集合。資料庫模型 層次模型,網狀模型,關係模型 關係型資料庫是把複雜的資料結構歸結為簡單的二元關係 二維 形式 對資料的操作幾乎全部建立在乙個或...

MySql概念及常用Sql

mysql是乙個關係型資料庫管理系統 mysql啟動命令 本機mysql位址 d pefession mysql mysql 8.0.12 winx64 bin 啟動服務 net start mysql 關閉服務 net stop mysql 登陸mysql h 主機名 u 使用者名稱 p 登陸本機...

資料庫事務概念及特性

事務結束於 執行commit或rollback語句 執行一條ddl語句,例如create table語句 在這種情況下,會自動執行commit語句 執行一條dcl語句,例如grant語句,在這種情況下,會自動執行commit語句 斷開與資料庫的連線 執行一條dml語句,該語句卻失敗了,在這種情況下,...