0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

mysql存儲(chǔ)過程的優(yōu)點(diǎn)與缺點(diǎn)

深圳市恒訊科技有限公司 ? 來源:深圳市恒訊科技有限公司 ? 作者:深圳市恒訊科技有 ? 2023-03-31 17:02 ? 次閱讀

mysql存儲(chǔ)過程已被視為應(yīng)用程序通過使用編碼方法或“過程”訪問和操作數(shù)據(jù)庫信息的事實(shí)標(biāo)準(zhǔn)。這主要是由于它們?yōu)殚_發(fā)人員提供的:將SQL的基于集合的功能與代碼開發(fā)的迭代和條件處理控制相結(jié)合的機(jī)會(huì)。開發(fā)人員對(duì)此非常高興;最后,開發(fā)人員可以利用以下優(yōu)勢,而不是編寫內(nèi)聯(lián)SQL然后嘗試從代碼中操作數(shù)據(jù):

一、熟悉的編碼原則

1、迭代循環(huán)

2、條件句

3、方法調(diào)用(存儲(chǔ)過程本身被構(gòu)建并且類似地被稱為方法)

二、一次一地處理

1、現(xiàn)在,SQL 代碼的各個(gè)部分可以封裝到命名方法塊中,而不是將內(nèi)聯(lián) SQL 代碼分布在整個(gè)應(yīng)用程序中,這些方法都可以在一個(gè)位置2、所有復(fù)雜的數(shù)據(jù)處理現(xiàn)在都可以在服務(wù)器上執(zhí)行,允(數(shù)據(jù)庫的“存儲(chǔ)過程”文件夾)中輕松識(shí)別和訪問。

當(dāng)然,僅僅因?yàn)槟承〇|西很流行并不總是意味著它在所有情況下都是最好的工具。Stored Procedures的效率、功效和實(shí)用性,就像所有編程語言和平臺(tái)的實(shí)現(xiàn)一樣,都取決于客戶端的需求和應(yīng)用程序的后續(xù)架構(gòu)。

下面,小編就給大家分析下mysql存儲(chǔ)過程的優(yōu)點(diǎn)與缺點(diǎn)。

一、使用mysql存儲(chǔ)過程的優(yōu)點(diǎn)

存儲(chǔ)過程如此流行并得到如此廣泛的使用,因此人們對(duì)關(guān)系數(shù)據(jù)庫管理系統(tǒng) (RDBMS)抱有期望,以至于MySQL最終屈服于開發(fā)人員的同行壓力,并在其非常流行的開源數(shù)據(jù)庫中添加了利用存儲(chǔ)過程的能力。

1、可維護(hù)性:由于腳本位于同一個(gè)位置,因此根據(jù)模式更改更新和跟蹤依賴關(guān)系變得更加容易。

2、測試:可以獨(dú)立于應(yīng)用程序進(jìn)行測試。

3、業(yè)務(wù)規(guī)則隔離:將存儲(chǔ)過程放在一個(gè)位置意味著不會(huì)混淆將業(yè)務(wù)規(guī)則分布在應(yīng)用程序中可能不同的代碼文件上。

4、速度/優(yōu)化:存儲(chǔ)過程緩存在服務(wù)器上;無需運(yùn)行應(yīng)用程序即可輕松查看流程的執(zhí)行計(jì)劃。

5、基于集合的處理的利用:SQL的強(qiáng)大之處在于它能夠快速高效地對(duì)大量數(shù)據(jù)執(zhí)行基于集合的處理;編碼等價(jià)物通常是迭代循環(huán),通常要慢得多。

6、安全:通過數(shù)據(jù)庫中定義的角色限制對(duì)表的直接訪問;為底層數(shù)據(jù)結(jié)構(gòu)提供一個(gè)“接口”,以便屏蔽所有實(shí)現(xiàn)甚至數(shù)據(jù)本身;僅保護(hù)數(shù)據(jù)和訪問它的代碼比在應(yīng)用程序代碼本身中應(yīng)用該安全性更容易。

二、使用mysql存儲(chǔ)過程的缺點(diǎn)

存儲(chǔ)過程肯定有一些缺點(diǎn),使它們無法成為應(yīng)用程序數(shù)據(jù)庫訪問的一站式解決方案。

1、有限的編碼功能:存儲(chǔ)過程代碼不如應(yīng)用程序代碼健壯,特別是在循環(huán)方面(更不用說迭代構(gòu)造,如游標(biāo),速度慢且處理器密集)。

2、可移植性:利用用于創(chuàng)建它們的RDBMS的復(fù)雜核心功能的復(fù)雜存儲(chǔ)過程并不總是移植到同一數(shù)據(jù)庫的升級(jí)版本。如果從一種數(shù)據(jù)庫類型 (Oracle) 遷移到另一種數(shù)據(jù)庫類型 (MS SQL Server),則尤其如此。

3、測試:直到運(yùn)行時(shí)才生成處理存儲(chǔ)過程的任何數(shù)據(jù)錯(cuò)誤。

4、業(yè)務(wù)規(guī)則的位置:由于SP不容易分組/封裝在單個(gè)文件中,這也意味著業(yè)務(wù)規(guī)則分布在不同的存儲(chǔ)過程中。應(yīng)用程序代碼架構(gòu)有助于確保業(yè)務(wù)規(guī)則封裝在單個(gè)對(duì)象中。普遍認(rèn)為業(yè)務(wù)規(guī)則/邏輯不應(yīng)放在數(shù)據(jù)層中

5、基于集合的處理的利用

維護(hù)不夠復(fù)雜的存儲(chǔ)過程會(huì)導(dǎo)致過多的開銷。因此,普遍的共識(shí)是簡單的 SELECT 語句不應(yīng)綁定到存儲(chǔ)過程,而應(yīng)作為內(nèi)聯(lián)SQL實(shí)現(xiàn)。

6、成本

根據(jù)我們的公司結(jié)構(gòu)和開發(fā)關(guān)注點(diǎn)分離,存儲(chǔ)過程開發(fā)可能需要專門的數(shù)據(jù)庫開發(fā)人員。有些企業(yè)根本不允許開發(fā)人員訪問數(shù)據(jù)庫,而是需要一個(gè)單獨(dú)的DBA。這將自動(dòng)產(chǎn)生額外費(fèi)用。一些公司認(rèn)為(有時(shí)是真的,但并非總是如此)DBA比應(yīng)用程序開發(fā)人員更像是SQL專家,因此會(huì)編寫更好的存儲(chǔ)過程。在這種情況下,需要DBA形式的額外開發(fā)人員。

以上是mysql存儲(chǔ)過程的優(yōu)點(diǎn)與缺點(diǎn)的介紹。希望能幫助到大家參考!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4170

    瀏覽量

    85483
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    751

    瀏覽量

    43985
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4694

    瀏覽量

    68078
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    791

    瀏覽量

    26351
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鐵電存儲(chǔ)器有哪些優(yōu)缺點(diǎn)

    鐵電存儲(chǔ)器(Ferroelectric RAM, FRAM)作為一種新興的非易失性存儲(chǔ)器技術(shù),憑借其獨(dú)特的優(yōu)勢在存儲(chǔ)市場中占據(jù)了一席之地。然而,與任何技術(shù)一樣,鐵電存儲(chǔ)器也有其
    的頭像 發(fā)表于 09-29 15:21 ?339次閱讀

    mysql磁盤碎片整理

    背景 數(shù)據(jù)結(jié)轉(zhuǎn)過程中經(jīng)常進(jìn)行 delete 操作,產(chǎn)生空白空間,如果進(jìn)行新的插入操作,MySQL將嘗試?yán)眠@些留空的區(qū)域,但仍然無法將其徹底占用,于是造成了數(shù)據(jù)的存儲(chǔ)位置不連續(xù),以及物理存儲(chǔ)
    的頭像 發(fā)表于 08-27 15:26 ?183次閱讀
    <b class='flag-5'>mysql</b>磁盤碎片整理

    PWM整流器有哪些優(yōu)點(diǎn)缺點(diǎn)

    PWM(脈寬調(diào)制)整流器作為電力電子技術(shù)中的一項(xiàng)重要技術(shù),具有諸多優(yōu)點(diǎn),但也存在一些缺點(diǎn)。
    的頭像 發(fā)表于 08-26 14:41 ?1418次閱讀

    軟包電池的優(yōu)點(diǎn)缺點(diǎn)

    軟包電池,也稱為聚合物鋰離子電池或鋁塑膜電池,是一種常見的電池封裝形式,具有一系列優(yōu)點(diǎn)缺點(diǎn),適用于不同的應(yīng)用場景。
    的頭像 發(fā)表于 05-07 10:32 ?2307次閱讀

    MySQL的整體邏輯架構(gòu)

    支持多種存儲(chǔ)引擎是眾所周知的MySQL特性,也是MySQL架構(gòu)的關(guān)鍵優(yōu)勢之一。如果能夠理解MySQL Server與存儲(chǔ)引擎之間是怎樣通過A
    的頭像 發(fā)表于 04-30 11:14 ?381次閱讀
    <b class='flag-5'>MySQL</b>的整體邏輯架構(gòu)

    RISC-V有哪些優(yōu)點(diǎn)缺點(diǎn)

    RISC-V作為一種開源的指令集架構(gòu)(ISA),具有一系列顯著的優(yōu)點(diǎn)和潛在的缺點(diǎn)。以下是RISC-V的主要優(yōu)點(diǎn)缺點(diǎn)概述: 優(yōu)點(diǎn): 開源與開
    發(fā)表于 04-28 09:03

    集成芯片的優(yōu)點(diǎn)缺點(diǎn)是什么

    集成芯片是現(xiàn)代電子設(shè)備中不可或缺的組成部分,它通過將多個(gè)電子元件和功能模塊集成在一塊微小的基片上,實(shí)現(xiàn)了電子設(shè)備的小型化、高效化和智能化。集成芯片具有眾多優(yōu)點(diǎn),但也存在一些缺點(diǎn)。
    的頭像 發(fā)表于 03-18 15:23 ?1277次閱讀

    網(wǎng)絡(luò)附加存儲(chǔ)的優(yōu)缺點(diǎn)有哪些

    。NAS具有許多優(yōu)點(diǎn)和一些缺點(diǎn),下面將詳細(xì)介紹。 一、優(yōu)點(diǎn): 高性能:NAS可以實(shí)現(xiàn)快速數(shù)據(jù)傳輸,提供高性能存儲(chǔ)解決方案。許多NAS設(shè)備配備了高速處理器和大容量RAM,以加快文件讀寫速
    的頭像 發(fā)表于 01-24 10:06 ?1186次閱讀

    mysql8.0存儲(chǔ)過程詳解

    存儲(chǔ)過程的英文是 Stored Procedure 。它的思想很簡單,就是一組經(jīng)過 預(yù)先編譯 的 SQL 語句的封裝。
    的頭像 發(fā)表于 01-05 09:53 ?765次閱讀

    短波通信的優(yōu)點(diǎn)缺點(diǎn)有哪些

    短波(SW)通信是一種無線電通信技術(shù),具有許多優(yōu)點(diǎn)缺點(diǎn)。下面將詳細(xì)介紹短波通信的優(yōu)點(diǎn)缺點(diǎn),并提供一個(gè)包含至少2000字的詳實(shí)細(xì)致的文章。 優(yōu)點(diǎn)
    的頭像 發(fā)表于 12-21 13:37 ?3366次閱讀

    MySQL的執(zhí)行過程 SQL語句性能優(yōu)化常用策略

    回顧 MySQL 的執(zhí)行過程,幫助介紹如何進(jìn)行 sql 優(yōu)化。
    的頭像 發(fā)表于 12-12 10:26 ?579次閱讀
    <b class='flag-5'>MySQL</b>的執(zhí)行<b class='flag-5'>過程</b> SQL語句性能優(yōu)化常用策略

    MySQL執(zhí)行過程:如何進(jìn)行sql 優(yōu)化

    (1)客戶端發(fā)送一條查詢語句到服務(wù)器; (2)服務(wù)器先查詢緩存,如果命中緩存,則立即返回存儲(chǔ)在緩存中的數(shù)據(jù); (3)未命中緩存后,MySQL 通過關(guān)鍵字將 SQL 語句進(jìn)行解析,并生成一顆對(duì)應(yīng)的解析樹,MySQL 解析器將使用
    的頭像 發(fā)表于 12-12 10:19 ?358次閱讀
    <b class='flag-5'>MySQL</b>執(zhí)行<b class='flag-5'>過程</b>:如何進(jìn)行sql 優(yōu)化

    SSD硬盤的優(yōu)點(diǎn)缺點(diǎn)

    SSD硬盤的優(yōu)點(diǎn)缺點(diǎn)? SSD(固態(tài)硬盤)是一種基于閃存存儲(chǔ)器來存儲(chǔ)數(shù)據(jù)的存儲(chǔ)設(shè)備,與傳統(tǒng)的機(jī)械硬盤(HDD)相比,SSD具有明顯的優(yōu)勢和
    的頭像 發(fā)表于 12-11 11:32 ?1343次閱讀

    鉭電容的優(yōu)點(diǎn)缺點(diǎn)

    鉭電容的優(yōu)點(diǎn)缺點(diǎn) 鉭電容是一種電子元件,它具有許多優(yōu)點(diǎn)缺點(diǎn)。在這篇文章中,我們將詳細(xì)介紹鉭電容的優(yōu)點(diǎn)
    的頭像 發(fā)表于 12-08 11:35 ?2227次閱讀

    電源配置方案的優(yōu)點(diǎn)缺點(diǎn)

    電子發(fā)燒友網(wǎng)站提供《電源配置方案的優(yōu)點(diǎn)缺點(diǎn).pdf》資料免費(fèi)下載
    發(fā)表于 11-27 10:52 ?0次下載
    電源配置方案的<b class='flag-5'>優(yōu)點(diǎn)</b>和<b class='flag-5'>缺點(diǎn)</b>