亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL數(shù)據(jù)庫存儲過程和事務的區(qū)別講解

 更新時間:2019年03月19日 09:58:30   作者:CODETC  
今天小編就為大家分享一篇關(guān)于MySQL數(shù)據(jù)庫存儲過程和事務的區(qū)別講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

事務是保證多個SQL語句的原子型的,也就是要么一起完成,要么一起不完成

存儲過程是把一批SQL語句預編譯后放在服務器上,然后可以遠程調(diào)用

存儲過程:

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

優(yōu)點:

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

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

3、規(guī)范程序設計,升級、維護方便。

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

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

缺點:

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

事務:

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

事務中可以有存儲過程 存儲過程中也可以有事務。

什么時候使用存儲過程比較適合?

1、當一個業(yè)務同時對多個表進行處理的時候采用存儲過程比較合適。

2、復雜的數(shù)據(jù)處理用存儲過程,如有些報表處理。

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

什么時候使用事務比較適合?

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

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • Mysql數(shù)據(jù)庫存儲過程基本語法講解

    Mysql數(shù)據(jù)庫存儲過程基本語法講解

    本文通過一個實例來給大家講述一下Mysql數(shù)據(jù)庫存儲過程基本語法,希望你能喜歡。
    2017-11-11
  • 淺談為什么Mysql數(shù)據(jù)庫盡量避免NULL

    淺談為什么Mysql數(shù)據(jù)庫盡量避免NULL

    這篇文章主要介紹了淺談為什么Mysql數(shù)據(jù)庫盡量避免NULL,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 使用Shell腳本進行MySql權(quán)限修改的實現(xiàn)教程

    使用Shell腳本進行MySql權(quán)限修改的實現(xiàn)教程

    原先數(shù)據(jù)配置文件中有bind-address=127.0.0.1,注釋掉此配置后,原數(shù)據(jù)庫中默認帶%root的權(quán)限,現(xiàn)在需要通過腳本實現(xiàn)白名單列表中的ip添加權(quán)限允許訪問數(shù)據(jù)庫,本文給大家介紹了使用Shell腳本進行MySql權(quán)限修改的實現(xiàn)教程,需要的朋友可以參考下
    2024-03-03
  • MySQL?EXPLAIN執(zhí)行計劃解析

    MySQL?EXPLAIN執(zhí)行計劃解析

    本文主要介紹了MySQL?EXPLAIN執(zhí)行計劃解析,通過MySQL?EXPLAIN執(zhí)行計劃的各個字段的含義以及使用方式。感興趣的小伙伴可以參考一下
    2022-08-08
  • MySQL5.6安裝步驟圖文詳解

    MySQL5.6安裝步驟圖文詳解

    這篇文章主要為大家詳細介紹了MySQL安裝步驟配置方法圖文,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • MYSQL ZIP免安裝版配置步驟及圖形化管理工具mysql-workbench

    MYSQL ZIP免安裝版配置步驟及圖形化管理工具mysql-workbench

    在 windows7 64位操作系統(tǒng)下配置mysql-5.5.25-winx64 (免安裝版),記錄步驟如下
    2014-03-03
  • MySQL 分表分庫怎么進行數(shù)據(jù)切分

    MySQL 分表分庫怎么進行數(shù)據(jù)切分

    這篇文章主要介紹了MySQL 分表分庫怎么進行數(shù)據(jù)切分,幫助大家更好的理解和學習使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • mysql用一個表更新另一個表的方法

    mysql用一個表更新另一個表的方法

    下面小編就為大家?guī)硪黄猰ysql用一個表更新另一個表的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Mariadb遠程登陸配置及問題解決

    Mariadb遠程登陸配置及問題解決

    這篇文章主要介紹了Mariadb遠程登陸配置及問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 詳細解讀MySQL中COUNT函數(shù)的用法

    詳細解讀MySQL中COUNT函數(shù)的用法

    這篇文章主要介紹了詳細解讀MySQL中COUNT函數(shù)的用法,是MySQL入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05

最新評論