資料庫mysql儲存是什麼?可以存什麼?

gamebus發表於2021-09-11

資料庫mysql儲存是什麼?可以存什麼?

在進超市挑選商品之前,如果我們隨行攜帶的物品較多或過大時,就需要找一個櫃子進行儲存。每個櫃格的大小一致,對於存放的物品也在一定程度上有了限制。小編最近一直在思考,我們用資料庫mysql儲存的可以是哪些物件,有沒有類似的限制要求。今天我們就mysql的儲存過程、儲存型別以及優缺點進行學習。


一、什麼是儲存過程?

簡單的說,儲存過程是一條或者多條SQL語句的集合,可視為批檔案,但是其作用不限於批處理。

我們常用的運算元據庫語言SQL語句在執行的時候需要要先編譯,然後執行,而儲存過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,經編譯後儲存在資料庫中,使用者透過指定儲存過程的名字並給定引數(如果該儲存過程帶有引數)來呼叫執行它。

一個儲存過程是一個可程式設計的函式,它在資料庫中建立並儲存。它可以有SQL語句和一些特殊的控制結構組成。當希望在不同的應用程式或平臺上執行相同的函式,或者封裝特定功能時,儲存過程是非常有用的。資料庫中的儲存過程可以看做是對程式設計中物件導向方法的模擬。它允許控制資料的訪問方式。

 

二、資料庫儲存過程程式

  • 當我們瞭解儲存過程是什麼之後,就需要了解資料庫中存在的這三種型別的資料庫儲存型別程式,如下:

  • 儲存過程: 儲存過程是最常見的儲存程式,儲存過程是能夠接受輸入和輸出引數並且能夠在請求時被執行的程式單元。

  • 儲存函式: 儲存函式和儲存過程很相像,但是它的執行結果會返回一個值。最重要的是儲存函式可以被用來充當標準的 SQL 語句,允許程式設計師有效的擴充套件 SQL 語言的能力。

  • 觸發器: 觸發器是用來響應啟用或者觸發資料庫行為事件的儲存程式。通常,觸發器用來作為資料庫操作語言的響應而被呼叫,觸發器可以被用來作為資料校驗和自動反向格式化。

注意: 其他的資料庫提供了別的資料儲存程式,包括包和類。目前MySQL不提供這種結構。

 

三、儲存過程的優缺點

優點:

  • 在生產環境下,可以透過直接修改儲存過程的方式修改業務邏輯或bug,而不用重啟伺服器。

  • 執行速度快,儲存過程經過編譯之後會比單獨一條一條編譯執行要快很多。

  • 減少網路傳輸流量。

  • 便於開發者或DBA使用和維護。

  • 在相同資料庫語法的情況下,改善了可移植性。

缺點:

  • 過程化程式設計,複雜業務處理的維護成本高。

  • 除錯不便。

  • 因為不同資料庫語法不一致,不同資料庫之間可移植性差。

透過本篇的學習,我們可以明確資料庫mysql的四種儲存型別。小夥伴們在進行儲存前,可以對應的檢視一下,因為其他的型別mysql是不支援的,這點小夥伴們需要注意啦。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4687/viewspace-2831861/,如需轉載,請註明出處,否則將追究法律責任。

相關文章