Sql筆試

MySql 中兩種引擎的區(qū)別
innoDB:1.支持事務(wù)2.適合頻繁修改以及涉及到安全性較高的應(yīng)用適合矾端,InnoDB支持外鍵
MyISAM:1。不支持事務(wù)2.查詢以及插入為主的應(yīng)用涨醋,InnDB不支持
MySql和Oracle區(qū)別

#### 一友题、宏觀上:

1、Oracle是大型的數(shù)據(jù)庫而Mysql是中小型數(shù)據(jù)庫园爷;Mysql是開源的宠蚂,Oracle是收費的,且價格昂貴童社。

2求厕、Oracle支持大并發(fā),大訪問量扰楼,是OLTP的最好的工具呀癣。

3、安裝占用的內(nèi)存也是有差別弦赖,Mysql安裝完成之后占用的內(nèi)存遠遠小于Oracle所占用的內(nèi)存项栏,并且Oracle越用所占內(nèi)存也會變多。

#### 二蹬竖、微觀上:

1沼沈、對于事務(wù)的支持

Mysql對于事務(wù)默認是不支持的流酬,只是有某些存儲引擎中如:innodb可以支持;而Oracle對于事物是完全支持的列另。

2康吵、并發(fā)性

什么是并發(fā)性?并發(fā)性是OLTP(**On-Line Transaction Processing聯(lián)機事務(wù)處理過程**)數(shù)據(jù)庫最重要的特性访递,并發(fā)性涉及到資源的獲取晦嵌、共享與鎖定。

Mysql以表鎖為主拷姿,對資源鎖定的力度很大惭载,如果一個session對一個表加鎖時間過長,會讓其他session無法更新此表的數(shù)據(jù)响巢。

Oracle使用行級鎖描滔,對資源鎖定的力度要小很多,只是鎖定sql需要的資源踪古,并且加鎖是在數(shù)據(jù)庫中的數(shù)據(jù)行上含长,不依賴于索引。所以oracle對并發(fā)性的支持要好很多伏穆。

3拘泞、數(shù)據(jù)的持久性

Oracle保證提交的事務(wù)均可以恢復(fù),因為Oracle把提交的sql操作線寫入了在線聯(lián)機日志文件中枕扫,保存到磁盤上陪腌,如果出現(xiàn)數(shù)據(jù)庫或者主機異常重啟,重啟Oracle可以靠聯(lián)機在線日志恢復(fù)客戶提交的數(shù)據(jù)烟瞧。

Mysql默認提交sql語句诗鸭,但是如果更新過程中出現(xiàn)db或者主機重啟的問題,也可能會丟失數(shù)據(jù)参滴。

4强岸、事務(wù)隔離級別

MySQL是repeatable read的隔離級別,而Oracle是read commited的隔離級別砾赔,同時二者都支持serializable串行化事務(wù)隔離級別蝌箍,可以實現(xiàn)最高級別的。

讀一致性过蹂。每個session提交后其他session才能看到提交的更改十绑。Oracle通過在undo表空間中構(gòu)造多版本數(shù)據(jù)塊來實現(xiàn)讀一致性聚至,每個session 查詢時酷勺,如果對應(yīng)的數(shù)據(jù)塊發(fā)生變化,Oracle會在undo表空間中為這個session構(gòu)造它查詢時的舊的數(shù)據(jù)塊扳躬。

MySQL沒有類似Oracle的構(gòu)造多版本數(shù)據(jù)塊的機制脆诉,只支持read commited的隔離級別甚亭。一個session讀取數(shù)據(jù)時,其他session不能更改數(shù)據(jù)击胜,但可以在表最后插入數(shù)據(jù)亏狰。session更新數(shù)據(jù)時,要加上排它鎖偶摔,其他session無法訪問數(shù)據(jù)

5暇唾、提交方式

Oracle默認不自動提交,需要手動提交辰斋。Mysql默認自動提交策州。

6、邏輯備份

Mysql邏輯備份是要鎖定數(shù)據(jù)宫仗,才能保證備份的數(shù)據(jù)是一致的够挂,影響業(yè)務(wù)正常的DML(數(shù)據(jù)操縱語言Data Manipulation Language)使用;Oracle邏輯備份時不鎖定數(shù)據(jù)藕夫,且備份的數(shù)據(jù)是一致的孽糖。

7、sql語句的靈活性

mysql對sql語句有很多非常實用而方便的擴展毅贮,比如limit功能(分頁)办悟,insert可以一次插入多行數(shù)據(jù);Oracle在這方面感覺更加穩(wěn)重傳統(tǒng)一些滩褥,Oracle的分頁是通過偽列和子查詢完成的誉尖,插入數(shù)據(jù)只能一行行的插入數(shù)據(jù)。

8铸题、數(shù)據(jù)復(fù)制

MySQL:復(fù)制服務(wù)器配置簡單铡恕,但主庫出問題時,叢庫有可能丟失一定的數(shù)據(jù)丢间。且需要手工切換叢庫到主庫探熔。

Oracle:既有推或拉式的傳統(tǒng)數(shù)據(jù)復(fù)制,也有dataguard的雙機或多機容災(zāi)機制烘挫,主庫出現(xiàn)問題是诀艰,可以自動切換備庫到主庫,但配置管理較復(fù)雜饮六。

9其垄、分區(qū)表和分區(qū)索引

MySQL的分區(qū)表還不太成熟穩(wěn)定;Oracle的分區(qū)表和分區(qū)索引功能很成熟卤橄,可以提高用戶訪問db的體驗绿满。

10、售后與費用

Oracle是收費的窟扑,出問題找客服喇颁;Mysql是免費的的漏健,開源的,出問題自己解決橘霎。

11蔫浆、權(quán)限與安全

Oracle的權(quán)限與安全概念比較傳統(tǒng),中規(guī)中矩姐叁;MySQL的用戶與主機有關(guān)瓦盛,感覺沒有什么意義,另外更容易被仿冒主機及ip有可乘之機外潜。

12谭溉、性能診斷方面

Oracle有各種成熟的性能診斷調(diào)優(yōu)工具,能實現(xiàn)很多自動分析橡卤、診斷功能扮念。比如awr、addm碧库、sqltrace柜与、tkproof等 ;MySQL的診斷調(diào)優(yōu)方法較少嵌灰,主要有慢查詢?nèi)罩尽?

Mysql數(shù)據(jù)庫事務(wù)的四大特性(ACID)
事務(wù):把一組密不可分的操作系列集合在一起弄匕,這些操作要么全部執(zhí)行,要么全部不執(zhí)行沽瞭。

1.原子性:事務(wù)是內(nèi)定義的操作是一個整體迁匠,是不可分割的。

2.一致性:同一個事務(wù)驹溃,多次讀取數(shù)據(jù)庫中的同一個數(shù)據(jù)城丧,讀取的內(nèi)容應(yīng)該是一致的,不變的豌鹤。

3.隔離性:不同事務(wù)之間相互獨立亡哄,互不干擾。

4.持久性:事務(wù)提交后布疙,事務(wù)內(nèi)的操作對數(shù)據(jù)庫的修改被永久保存在數(shù)據(jù)庫文件中蚊惯。

事務(wù)的開啟
Mysql的事務(wù)默認為自動提交,每執(zhí)行一條DML語句灵临,Mysql數(shù)據(jù)庫會自動提交一次事務(wù)截型。

將Mysql數(shù)據(jù)庫事務(wù)提交方式修改為手動提交有兩種方式:

1)start transaction (手動開啟一個事務(wù),即關(guān)閉數(shù)據(jù)庫事務(wù)的自動提交儒溉,每次事務(wù)提交后宦焦,事務(wù)自動提交又會自動打開,即每次都需要手動開啟)

2)set autocommit = off;(將當(dāng)前會話的事務(wù)設(shè)置為手動提交赶诊,每次事務(wù)結(jié)束都需要commit或者rollback笼平,下個事務(wù)不需要再次手動開啟)

事務(wù)提交或回滾(TCL語句)事務(wù)控制語句
1)commit

2)rollback

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末园骆,一起剝皮案震驚了整個濱河市舔痪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锌唾,老刑警劉巖锄码,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異晌涕,居然都是意外死亡滋捶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門余黎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來重窟,“玉大人,你說我怎么就攤上這事惧财⊙采龋” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵垮衷,是天一觀的道長厅翔。 經(jīng)常有香客問我,道長搀突,這世上最難降的妖魔是什么刀闷? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮仰迁,結(jié)果婚禮上甸昏,老公的妹妹穿的比我還像新娘。我一直安慰自己徐许,他們只是感情好筒扒,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绊寻,像睡著了一般花墩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澄步,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天冰蘑,我揣著相機與錄音,去河邊找鬼村缸。 笑死祠肥,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的梯皿。 我是一名探鬼主播仇箱,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼县恕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了剂桥?” 一聲冷哼從身側(cè)響起忠烛,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎权逗,沒想到半個月后美尸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡斟薇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年师坎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堪滨。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡胯陋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出袱箱,到底是詐尸還是另有隱情遏乔,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布犯眠,位于F島的核電站按灶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏筐咧。R本人自食惡果不足惜鸯旁,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望量蕊。 院中可真熱鬧铺罢,春花似錦、人聲如沸残炮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽势就。三九已至泉瞻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苞冯,已是汗流浹背袖牙。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留舅锄,地道東北人鞭达。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親畴蹭。 傳聞我的和親對象是個殘疾皇子坦仍,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348