人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

MySQL數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程和事務(wù)的區(qū)別講解

發(fā)布日期:2022-03-14 12:31 | 文章來(lái)源:源碼中國(guó)

事務(wù)是保證多個(gè)SQL語(yǔ)句的原子型的,也就是要么一起完成,要么一起不完成

存儲(chǔ)過(guò)程是把一批SQL語(yǔ)句預(yù)編譯后放在服務(wù)器上,然后可以遠(yuǎn)程調(diào)用

存儲(chǔ)過(guò)程:

一組為了完成特定功能的SQL語(yǔ)句集(或者自定義數(shù)據(jù)庫(kù)操作命令集), 根據(jù)傳入的參數(shù)(也可以沒(méi)有), 通過(guò)簡(jiǎn)單的調(diào)用, 完成比單個(gè)SQL語(yǔ)句更復(fù)雜的功能, 存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器端,只需要編譯過(guò)一次之后再次使用都不需要再進(jìn)行編譯:主要對(duì)存儲(chǔ)的過(guò)程進(jìn)行控制。

優(yōu)點(diǎn):

1、執(zhí)行速度快。尤其對(duì)于較為復(fù)雜的邏輯,減少了網(wǎng)絡(luò)流量之間的消耗,另外比較重要的一點(diǎn)是存儲(chǔ)過(guò)程只在創(chuàng)造時(shí)進(jìn)行編譯,以后每次執(zhí)行存儲(chǔ)過(guò)程都不需再重新編譯,而一般 SQL 語(yǔ)句每執(zhí)行一次就編譯一次,所以使用存儲(chǔ)過(guò)程可提高數(shù)據(jù)庫(kù)執(zhí)行速度。。

2、提高工作效率。寫程序簡(jiǎn)單,采用存儲(chǔ)過(guò)程調(diào)用類,調(diào)用任何存儲(chǔ)過(guò)程都只要1-2行代碼。

3、規(guī)范程序設(shè)計(jì),升級(jí)、維護(hù)方便。

4、提高系統(tǒng)安全性??稍O(shè)定只有某用戶才具有對(duì)指定存儲(chǔ)過(guò)程的使用權(quán)。

數(shù)據(jù)量小的,或者和錢沒(méi)關(guān)系的項(xiàng)目不用存儲(chǔ)過(guò)程也可以正常運(yùn)作。mysql 的存儲(chǔ)過(guò)程還有待實(shí)際測(cè)試。如果是正式項(xiàng)目,建議你用 sql server 或 oracle 的存儲(chǔ)過(guò)程。數(shù)據(jù)與數(shù)據(jù)之間打交道的話,過(guò)程會(huì)比程序來(lái)的快的多。

缺點(diǎn):

程序部分功能移到了數(shù)據(jù)庫(kù)內(nèi),破壞了CVM三層結(jié)構(gòu)設(shè)計(jì)

事務(wù):

一系列的數(shù)據(jù)更改操作組成的一個(gè)整體。這些操作包括存儲(chǔ)過(guò)程,更改語(yǔ)句及其它操作。一旦事務(wù)中包含的某操作失敗或用戶中止,用戶可以控制將事務(wù)體中所有操作撤消,返回事務(wù)開(kāi)始前的狀態(tài)。事務(wù)中的操作是一個(gè)整體,要么整體完成,要么全部不做。從而保證了數(shù)據(jù)的完整性。

事務(wù)中可以有存儲(chǔ)過(guò)程 存儲(chǔ)過(guò)程中也可以有事務(wù)。

什么時(shí)候使用存儲(chǔ)過(guò)程比較適合?

1、當(dāng)一個(gè)業(yè)務(wù)同時(shí)對(duì)多個(gè)表進(jìn)行處理的時(shí)候采用存儲(chǔ)過(guò)程比較合適。

2、復(fù)雜的數(shù)據(jù)處理用存儲(chǔ)過(guò)程,如有些報(bào)表處理。

3、多條件多表聯(lián)合查詢,并做分頁(yè)處理。

什么時(shí)候使用事務(wù)比較適合?

每次使用事務(wù),都會(huì)占用一定的開(kāi)銷。另外,事務(wù)可能會(huì)鎖定一些表的行。所以,不必要的事務(wù)會(huì)導(dǎo)致性能損失。這里有一個(gè)規(guī)則,只有當(dāng)操作需要的時(shí)候才使用事務(wù)。例如,如果只是從數(shù)據(jù)庫(kù)中查詢一些記錄,或者執(zhí)行單個(gè)查詢,在大部分時(shí)候都不需要顯式的事務(wù),因?yàn)槁暶鞫家呀?jīng)封裝在隱式的事務(wù)中。但是,正如前文提到,在多聲明更新時(shí)非常重要,因?yàn)槭聞?wù)能夠?qū)嶋H提升操作速度。同樣,如果需要在節(jié)省數(shù)毫秒時(shí)間和危害數(shù)據(jù)完整性之間做出一個(gè)選擇的話,那么正確的答案就是保持?jǐn)?shù)據(jù)清潔,不要擔(dān)心那數(shù)毫秒的時(shí)間消耗。

另外使用事務(wù)之前需要注意的是:盡可能短的保持事務(wù)。避免使用在事務(wù)中的SELECT返回?cái)?shù)據(jù),除非語(yǔ)句依賴于返回?cái)?shù)據(jù)。如果使用SELECT語(yǔ)句,只選擇需要的行,因此不要鎖定過(guò)多的資源同時(shí)保持盡可能高的性能。在架構(gòu)語(yǔ)序的情況下,從事務(wù)中移出所有SELECT語(yǔ)句。這么做是因?yàn)槭聞?wù)在處理的過(guò)程中會(huì)鎖定所有被操作的數(shù)據(jù)行,這樣會(huì)影響其他并發(fā)的sql語(yǔ)句的執(zhí)行。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)本站的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

海外穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部