MySQL不支持的功能

今天就跟大家聊聊有關(guān)MySQL不支持的功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)是一家專業(yè)提供城關(guān)企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)H5場景定制、小程序制作等業(yè)務。10年已為城關(guān)眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。

MySQL不支持的功能

這里介紹其他數(shù)據(jù)庫中有而MySQL中無的功能。它介紹省略了什么功能,以及在需要這些功能時怎么辦。一般情況下, MySQL之所以忽略某些功能是因為它們有負面性能影響。有的功能正在開發(fā)者的計劃清單上,一旦找到一種方法可以實現(xiàn)相應的功能而又不致于影響
良好性能的目標,就會對它們進行實現(xiàn)。
■ 子選擇。子選擇是嵌套在另一個SELECT 語句內(nèi)的SELECT 語句,如下面的查詢所示:
SELECT * FROM score
WHERE event_id IN (SELECT event_id FROM event WHERE type = "T")
子選擇打算在MySQL3.24 中給出,到那時它們就不會忽略了。但到那時,許多用子選擇撰寫的查詢也可以用連接來編寫。請參閱3 . 8 . 1節(jié)“將子選擇編寫為連接”。
■ 事務處理和提交/回退。事務處理是由其他客戶機作為一個整體不中斷執(zhí)行的一組SQL語句。提交/回退功能允許規(guī)定數(shù)條語句作為一個整體執(zhí)行或不執(zhí)行。即,如果事務處理中的任何一條語句失敗,那么直到該語句前執(zhí)行的所有語句的作用都被撤消。
ySQL 自動進行單一SQL 語句的同步以免客戶機互相干擾。(例如,兩個客戶機不能對相同的表進行同時寫入。)此外,可利用LOCK TABLES 和UNLOCK TABLES將數(shù)條語句組成一個整體,這使您能夠完成單條語句的并發(fā)控制所不能滿足的操作。MySQL與事務處理有關(guān)的問題是,它不能自動對數(shù)條語句進行組織,而且如果這些語句中有某一條失敗后也不能對它們進行回退。
為了弄清事務處理為什么有用,可舉例說明。假如您在服裝銷售業(yè)工作,無論何時,只要您的銷售人員進行了一次銷售,都要更新庫存數(shù)目。下面的例子說明了在多個銷售人員同時更新數(shù)據(jù)庫時可能出現(xiàn)的問題(假如初始的襯衫庫存數(shù)目為4 7):
t1銷售人員1賣出3件襯衫
t2 銷售人員檢索當前襯衫計數(shù)( 4 7):
SELECT quantity FROM inventory WHERE item = "shirt"
t3 銷售人員2賣出2件襯衫
t4 銷售人員2檢索當前襯衫計數(shù)( 4 7)
SELECT quantity FROM inventory WHERE item = "shirt"
t5 銷售人員1計算庫存的新數(shù)目為47 - 3 = 44 并設(shè)置襯衫計數(shù)為44:
UPDATE inventory SET quantity = 44 WHERE item = "shirt"
t6 銷售人員2計算庫存的新數(shù)目為47 - 2 = 45 并設(shè)置襯衫計數(shù)為45:
UPDATE inventory SET quantity = 45 WHERE item = "shirt"
在這個事件序列結(jié)束時,您已經(jīng)賣掉了5 件襯衫,但庫存數(shù)目卻是45 而不是4 2。問題是如果在一條語句中查看庫存而在另一條語句中更新其值,這是一個多語句的事務處理。第二條語句中所進行的活動取決于第一條語句中檢索出的值。但是如果在重疊的時間范圍內(nèi)出現(xiàn)獨立的事務處理,則每個事務處理的語句會糾纏在一起,并且互相干擾。在事務處理型的數(shù)據(jù)庫中,每個銷售人員的語句可作為一個事務處理執(zhí)行,這樣,銷售人員2 的語句在銷售人員1的語句完成之前不會被執(zhí)行。在MySQL中,可用兩種方法達到這個目的:
■ 方法1:作為一個整體執(zhí)行一組語句??衫肔OCK TABLES 和UNLOCK TABLES將語句組織在一起,并將它們作為一個原子單元執(zhí)行:鎖住所需使用的表,發(fā)布查詢,然后釋放這些鎖。這樣阻止了其他人在您鎖住這些表時使用它們。利用表同步,庫存情況如下所示:
t1銷售人員1賣出3件襯衫
t2 銷售人員1請求一個鎖并檢索當前襯衫計數(shù)(47)
LOCK TABLES inventory WRITE
SELECT quantity FROM inventory WHERE item = "shirt"
t3 銷售人員2賣出2件襯衫

看完上述內(nèi)容,你們對MySQL不支持的功能有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)頁名稱:MySQL不支持的功能
路徑分享:http://muchs.cn/article44/jejhee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站用戶體驗、服務器托管、自適應網(wǎng)站云服務器、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)