問題集:https://blog.csdn.net/qq_22222499/article/details/79060495
1茴丰、msyql優(yōu)化經(jīng)驗(yàn)
1、對查詢進(jìn)行優(yōu)化佑吝,應(yīng)盡量避免全表掃描损谦,首先應(yīng)考慮在 where 及 order by 涉及的列上建立索引宪摧。
2、應(yīng)盡量避免在 where 子句中使用!=或<>操作符氧骤,否則引擎將放棄使用索引而進(jìn)行全表掃描呻疹。
3、盡量使用數(shù)字型字段筹陵,若只含數(shù)值信息的字段盡量不要設(shè)計(jì)為字符型刽锤,這會降低查詢和連接的性能,并會增加存儲開銷朦佩。這是因?yàn)橐嬖谔幚聿樵兒瓦B接時(shí)會逐個(gè)比較字符串中每一個(gè)字符并思,而對于數(shù)字型而言只需要比較一次就夠了。
4语稠、任何地方都不要使用 select * from t 宋彼,用具體的字段列表代替“*”,不要返回用不到的任何字段仙畦。
5输涕、避免頻繁創(chuàng)建和刪除臨時(shí)表,以減少系統(tǒng)表資源的消耗议泵。諸如此類占贫,等等等等.
2、四種隔離級別
https://blog.csdn.net/tolcf/article/details/49283575
讀未提交Read uncommitted先口,
讀已提交Read committed型奥,
可重復(fù)讀Repeatable read瞳收,
可串行化Serializable。
? 串行化(Serializable):所有事務(wù)一個(gè)接著一個(gè)的執(zhí)行厢汹,這樣可以避免幻讀(phantom read),對于基于鎖來實(shí)現(xiàn)并發(fā)控制的數(shù)
據(jù)庫來說螟深,串行化要求在執(zhí)行范圍查詢的時(shí)候,需要獲取范圍鎖烫葬,如果不是基于鎖實(shí)現(xiàn)并發(fā)控制的數(shù)據(jù)庫界弧,則檢查到有違反
串行操作的事務(wù)時(shí),需回滾該事務(wù)搭综。
? 可重復(fù)讀(Repeated Read):所有被Select獲取的數(shù)據(jù)都不能被修改垢箕,這樣就可以避免一個(gè)事務(wù)前后讀取不一致的情況。但
是沒有辦法控制幻讀兑巾,因?yàn)檫@個(gè)時(shí)候其他事務(wù)不能更改所選的數(shù)據(jù)条获,但是可以增加數(shù)據(jù),因?yàn)閺?qiáng)惡意事務(wù)沒有范圍鎖蒋歌。
(不可重復(fù)讀的重點(diǎn)是修改帅掘,幻讀的重點(diǎn)在于新增或者刪除。)
? 讀已提交(Read Committed):被讀取的數(shù)據(jù)可以被其他事務(wù)修改堂油,這樣可能導(dǎo)致不可重復(fù)讀修档。也就是說,事務(wù)讀取的時(shí)候
獲取讀鎖府框,但是在讀完之后立即釋放(不需要等事務(wù)結(jié)束)吱窝,而寫鎖則是事務(wù)提交之后才釋放,釋放讀鎖之后寓免,就可能被其他
事務(wù)修改數(shù)據(jù)癣诱。改等級也是SQL Server默認(rèn)的隔離等級
? 讀未提交(Read Uncommitted):最低的隔離等級,允許其他事務(wù)看到?jīng)]有提交的數(shù)據(jù)袜香。
3撕予、MyISAM與InnoDB的區(qū)別
https://www.jb51.net/article/62457.htm##1
https://www.cnblogs.com/zhangjinghe/p/7599988.html
一般來說,MyISAM適合:
(1)做很多count 的計(jì)算蜈首;
(2)插入不頻繁实抡,查詢非常頻繁;
(3)沒有事務(wù)欢策。
InnoDB適合:
(1)可靠性要求比較高吆寨,或者要求事務(wù);
(2)表更新和查詢都相當(dāng)?shù)念l繁踩寇,并且表鎖定的機(jī)會比較大的情況指定數(shù)據(jù)引擎的創(chuàng)建啄清。
數(shù)據(jù)庫常見死鎖原因及處理
https://blog.csdn.net/qq_34246546/article/details/79409185
事務(wù)和鎖機(jī)制是什么關(guān)系? 開啟事務(wù)就自動加鎖了嗎俺孙?
- 事務(wù)與鎖是不同的辣卒。事務(wù)具有ACID(原子性掷贾、一致性、隔離性和持久性)荣茫,鎖是用于解決隔離性的一種機(jī)制想帅。
- 事務(wù)的[隔離級別]通過鎖的機(jī)制來實(shí)現(xiàn)。另外鎖有不同的粒度啡莉,同時(shí)事務(wù)也是有不同的隔離級別的港准。
- 開啟事務(wù)就自動加鎖。
- 同時(shí)事務(wù)也是有不同的隔離級別的 :