mysql 事務(wù),引擎,優(yōu)化

事務(wù)

  • a原子性,要么全部,成功不成功就全部回滾
  • c一致性,事務(wù)執(zhí)行前與事務(wù)執(zhí)行后保持一致
  • i隔離性,單獨(dú)事務(wù)數(shù)據(jù)不串,多個(gè)事務(wù)并發(fā)時(shí),每個(gè)事務(wù)隔離
  • d持久性,事務(wù)成功被提交,就算遇見其他問題,事務(wù)處理的數(shù)據(jù),是永久有效的

事務(wù)隔離

  • mysql事務(wù)的默認(rèn)隔離是重復(fù)讀
  • 未提交讀-- 事務(wù) 還未完全提交成功,提交部分中止,就已經(jīng)讀到數(shù)據(jù),出現(xiàn)臟讀
  • 提交讀-- 多個(gè)事務(wù)不能同時(shí)來,一個(gè)事務(wù)要等另一個(gè)事務(wù)完成提交后才能讀取數(shù)據(jù)
  • 重復(fù)讀--事務(wù)在開啟讀取數(shù)據(jù)的時(shí)候,不能修改操作數(shù)據(jù)
  • 系列化--是事務(wù)隔離的最高級(jí)別,事務(wù)串化性執(zhí)行數(shù)據(jù),可以避免臟讀,幻讀,重復(fù)讀,但是這種隔離效率低下,很耗數(shù)據(jù)庫(kù)性能,不推薦使用

事務(wù)并發(fā)可能遇見的問題

  • 臟讀--一個(gè)事務(wù) 處理過程中讀取了另外一個(gè)未提交事務(wù)的數(shù)據(jù)
  • 幻讀--一般是insert操作
  • 不可重復(fù)讀--一般是update操作,事務(wù)讀的過程中被另外一個(gè)事務(wù)update

mysql引擎

myisam
不支持事務(wù),不支持外鍵,只支持表級(jí)鎖,優(yōu)點(diǎn)是查詢速度速度快,主要用于insert,select操作比較多的表
支持3種不同的存儲(chǔ)格式,分別是:靜態(tài)表;動(dòng)態(tài)表;壓縮表

innodb
支持事務(wù),支持行級(jí)鎖,行級(jí)鎖可大大提升并發(fā)時(shí)候事務(wù)處理的速度,提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全,查詢速度慢

原博地址:https://github.com/xianyunyh/PHP-Interview/blob/master/Mysql/%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E.md

數(shù)據(jù)庫(kù)優(yōu)化

-- 查詢sql優(yōu)化,少用子查詢,盡量join;少用like;分頁查詢limit;需要什么字段查什么字段,少用select *;拆分大的insert.delete;
-- 善用索引,在group by ,orderby,where, on這些字段建索引,加快查詢速度;在數(shù)據(jù)類型小的字段加索引;
-- 表結(jié)構(gòu)的數(shù)據(jù)類型選擇,多用not null,盡量避免null數(shù)據(jù);根據(jù)數(shù)據(jù)選擇最適用的數(shù)據(jù)類型;使用合理的定長(zhǎng)數(shù)據(jù)類型,固定長(zhǎng)度的會(huì)節(jié)約資源,查詢的時(shí)候快一點(diǎn),多使用char.enum,而不是varchar
-- 使用命令分析:explain分析sql,查看數(shù)據(jù)庫(kù)慢查詢速度 show status like 'slow_queries','connections','com_select','uptime',
-- 分庫(kù)分區(qū)分表,主從哭,讀寫分離
分表:垂直分表,針對(duì)表列數(shù)比較多的表,將常用與不常用的字段列分開,數(shù)據(jù)大的獨(dú)立出來
水平分表, 表結(jié)構(gòu)一致,可以通過加日期后綴來存儲(chǔ)不同時(shí)期的數(shù)據(jù),服務(wù)端使用數(shù)據(jù)的時(shí)候,通過當(dāng)前業(yè)務(wù)情況來操作使用那張表。也可以通過數(shù)據(jù)的不同類型分表,按板塊結(jié)構(gòu)分表

鎖表相關(guān):http://www.cnblogs.com/luyucheng/p/6297752.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容