




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
主講教師:魏巍巍北京信息職業(yè)技術(shù)學(xué)院數(shù)據(jù)庫技術(shù)與應(yīng)用MySQL進(jìn)階-分區(qū)與觸發(fā)器創(chuàng)建采集任務(wù)01分區(qū)01目錄CONTENTS觸發(fā)器01分區(qū)01分區(qū)技術(shù):操作數(shù)據(jù)表時(shí)根據(jù)給定的算法,將數(shù)據(jù)在邏輯上分到多個(gè)區(qū)域中存儲(chǔ),在分區(qū)中還可以設(shè)置子分區(qū),將數(shù)據(jù)存放到更加具體的區(qū)域內(nèi)。分區(qū)分區(qū)技術(shù):將一張數(shù)據(jù)表中的數(shù)據(jù)存儲(chǔ)在不同物理磁盤中,比單個(gè)磁盤存儲(chǔ)更多的數(shù)據(jù),如果WHERE子句的條件命中一個(gè)分區(qū),掃描相關(guān)的一個(gè)分區(qū)而不用全表掃描,提高查詢效率。提示:如果查詢id為3~5的數(shù)據(jù),掃描磁盤1即可。分區(qū)分區(qū)技術(shù)對存儲(chǔ)引擎以及鎖的要求:分區(qū)技術(shù)不適用于MERGE、CSV或FEDERATED存儲(chǔ)引擎。InnoDB分區(qū)表不能設(shè)置外鍵,同樣地,與外鍵相關(guān)的主表和從表也不能被分區(qū)。MySQL5.7中InnoDB表不支持子分區(qū)在多個(gè)磁盤中存儲(chǔ),目前僅MyISAM存儲(chǔ)引擎支持。同一個(gè)分區(qū)表的所有分區(qū)必須使用相同存儲(chǔ)引擎。當(dāng)建表時(shí)未指定存儲(chǔ)引擎,在創(chuàng)建分區(qū)時(shí)就必須設(shè)置存儲(chǔ)引擎。MySQL5.6及更早的版本中,對分區(qū)的MyISAM表進(jìn)行操作時(shí)會(huì)鎖定所有的分區(qū),直到操作完成后才會(huì)釋放鎖。而在MySQL5.7中,僅會(huì)鎖定與操作相關(guān)的分區(qū),不會(huì)影響其他分區(qū)。分區(qū)mysql>CREATETABLE`mydb`.`p_list`(->`id`INTAUTO_INCREMENTCOMMENT'ID編號',->`name`VARCHAR(50)COMMENT'姓名',->`dpt`INTCOMMENT'部門編號',->KEY(`id`)->)ENGINE=INNODB->PARTITIONBYLIST(`dpt`)(->PARTITIONp1VALUESIN(1,3),->PARTITIONp2VALUESIN(2,4)
->);案例:創(chuàng)建分區(qū)代碼示例將dpt字段進(jìn)行分區(qū):值為1或3時(shí),將記錄放在p1分區(qū)值為2或4時(shí),將記錄放在p2分區(qū)分區(qū)#在MySQL的data/mydb目錄下查看分區(qū)數(shù)據(jù)文件p_list#p#p1.ibdp_list#p#p2.ibd案例:創(chuàng)建分區(qū)代碼示例p_list是建立分區(qū)的數(shù)據(jù)表名,p1和p2表示分區(qū)名稱。分區(qū)觸發(fā)器02觸發(fā)器:可以看作是一種特殊類型的存儲(chǔ)過程,它與存儲(chǔ)過程的區(qū)別在于存儲(chǔ)過程使用時(shí)需要調(diào)用,而觸發(fā)器是在預(yù)先定義好的事件(如INSERT、DELETE等操作)發(fā)生時(shí),才會(huì)被MySQL自動(dòng)調(diào)用。觸發(fā)器的優(yōu)點(diǎn):觸發(fā)器可以通過數(shù)據(jù)庫中的相關(guān)表實(shí)現(xiàn)級聯(lián)無痕更改操作。保證數(shù)據(jù)安全,進(jìn)行安全校驗(yàn)。觸發(fā)器的缺點(diǎn):觸發(fā)器的使用會(huì)影響數(shù)據(jù)庫的結(jié)構(gòu),同時(shí)增加了維護(hù)的復(fù)雜程度。觸發(fā)器的無痕操作會(huì)造成數(shù)據(jù)在程序(如PHP、Java等)層面不可控。觸發(fā)器CREATETABLE`my_shopcart`(`id`INTUNSIGNEDPRIMARYKEYAUTO_INCREMENTCOMMENT'購物車id',`user_id`INTUNSIGNEDNOTNULLDEFAULT0COMMENT'用戶id',`goods_id`INTUNSIGNEDNOTNULLDEFAULT0COMMENT'商品id',`goods_price`DECIMAL(10,2)UNSIGNEDNOTNULLDEFAULT0COMMENT'單價(jià)',`goods_num`INTUNSIGNEDNOTNULLDEFAULT0COMMENT'購買件數(shù)',`is_select`TINYINTUNSIGNEDNOTNULLDEFAULT0COMMENT'是否選中',`create_time`DATETIMENOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'創(chuàng)建時(shí)間',`update_time`DATETIMEDEFAULTNULLCOMMENT'更新時(shí)間')ENGINE=InnoDBDEFAULTCHARSET=utf8;案例:觸發(fā)器的使用代碼示例STEP01創(chuàng)建my_shopcart購物車表。以my_goods和my_shopcart為例,演示添加商品到購物車后自動(dòng)減少商品庫存。觸發(fā)器mysql>DELIMITER$$mysql>CREATETRIGGERinsert_triBEFOREINSERT->ONmy_shopcartFOREACHROW->BEGIN->DECLAREstocksINTDEFAULT0;->SELECTstockINTOstocksFROMmy_goodsWHEREid=new.goods_id;->IFstocks<=new.goods_numTHEN->SETnew.goods_num:=stocks;->UPDATEmy_goodsSETstock=0WHEREid=new.goods_id;->ELSE->UPDATEmy_goodsSETstock=stocks-new.goods_numWHERE->id=new.goods_id;->ENDIF;->END;->$$QueryOK,0rowsaffected(0.01sec)mysql>DELIMITER;案例:觸發(fā)器的使用代碼示例STEP02為my_shopcart購物車表創(chuàng)建觸發(fā)器。觸發(fā)器mysql>SELECT`id`,`stock`FROM`my_goods`WHERE`id`=1;+----+-------+|id|stock|+----+-------+|1|500|+----+-------+案例:觸發(fā)器的使用代碼示例STEP03觸發(fā)insert_tri觸發(fā)器。查看my_goods表中商品編號為1的庫存量stock。觸發(fā)器mysq1>INSERTINTO`my_shopcart`(`user_id`,`goods_id`,`goods_num`,->`goods_price`)VALUES(3,1,1000,0.50);案例:觸發(fā)器的使用代碼示例STEP04觸發(fā)insert_tri觸發(fā)器。向購物車表my_shopcart中插入數(shù)據(jù)。觸發(fā)器mysql>SELECT`id`,`stock`FROM`my_goods`WHERE`id`=1;+----+-------+|id|stock|+----+-------+|1|0|+----+-------+mysql>SELECT`id`,`user_id`,`goods_id`,`goods_num`,`goods_price`FROM`my_shopcart`;+----+---------+----------+------------+--------------+|id|user_id|goods_id|goods_num|goods_price|+----+---------+----------+------------+--------------+|1|3|1|500|0.50|+----+---------+----------+------------+--------------+案例:觸發(fā)器的使用代碼示例STEP05觸發(fā)insert_tri觸發(fā)器。查看my_goods和my_shopcart表在觸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 律師見證 委托協(xié)議
- 智能金融科技應(yīng)用開發(fā)合同
- 中心社區(qū)房屋買賣代理合同
- 電子設(shè)備租賃服務(wù)合同
- 第3單元第9課《按圖索驥-制作熱點(diǎn)鏈接》-教學(xué)設(shè)計(jì)2023-2024學(xué)年清華大學(xué)版(2012)初中信息技術(shù)八年級下冊
- Unit3 Could you please clean the room Section A (3a) 教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版八年級英語上冊
- 第17課 第二次世界大戰(zhàn)與戰(zhàn)后國際秩序的形成 教學(xué)設(shè)計(jì)-2023-2024學(xué)年高一統(tǒng)編版2019必修中外歷史綱要下冊
- 第六單元課外古詩詞誦讀《如夢令(常記溪亭日暮)》教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語文八年級上冊
- 認(rèn)識倍數(shù) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年冀教版數(shù)學(xué)四年級上冊
- 第6單元 單元分析2024-2025學(xué)年四年級語文上冊教學(xué)設(shè)計(jì)(統(tǒng)編版)
- 比亞迪漢DM-i說明書
- 晚熟的人(莫言諾獎(jiǎng)后首部作品)
- GA/T 2002-2022多道心理測試通用技術(shù)規(guī)程
- 《玉磨彌蒙鐵路建設(shè)項(xiàng)目標(biāo)準(zhǔn)化管理考核實(shí)施辦法》的通知滇南安質(zhì)〔XXXX〕號
- 新人教鄂教版(2017)五年級下冊科學(xué)全冊教學(xué)課件
- 《產(chǎn)業(yè)基礎(chǔ)創(chuàng)新發(fā)展目錄(2021年版)》(8.5發(fā)布)
- YY/T 0729.4-2009組織粘合劑粘接性能試驗(yàn)方法第4部分:傷口閉合強(qiáng)度
- GB/T 1040.3-2006塑料拉伸性能的測定第3部分:薄膜和薄片的試驗(yàn)條件
- GB 4706.20-2004家用和類似用途電器的安全滾筒式干衣機(jī)的特殊要求
- 血管“斑塊”的風(fēng)險(xiǎn)課件
- mks spectra介紹殘余氣體分析儀
評論
0/150
提交評論