MySQL之儲存引擎和視圖

一、儲存引擎

基本介紹:

1、MySQL的表類型由儲存引擎(Storage Engines)決定,主要包括MyISAM、innoDB、Memory等。

2、MySQL數據表主要支持六種類型,分別是:CSV、Memory、ARCHIVE、MRG_MYISAN、MYISAM、InnoBDB。

3、這六種又分為兩類,一類是“事務安全型”,比如:InnoDB;其余屬于第二類,稱為“非事務安全型”

指令:

查看所有的儲存結構:

SHOW ENGINES

主要的存儲引擎/表類型特點:

小結:

1、MyISAM不支持事務,也不支持外鍵,但其訪問速度快,對事務完整性沒有要求

2、InnoDB儲存引擎提供具有提交、回滾、崩潰恢復能力的事務安全。但比起MyISAM儲存引擎,InnoDB寫的效率差一些并且會占用更多的磁盤空間以保留數據和索引

3、MEMORY儲存引擎使用存在內存中的內容來創建表,每個MEMORY表只實際對應一個磁盤文件。MEMORY類型的表訪問速度非常快,因為數據是放在內存中的,沒有I/O操作,而且默認是使用HASH索引。但是一旦服務關閉[ net stop mysql ],表中的數據就會丟失,表的結構還在。通常這用來儲存用戶 在線/離線 這種經常變化的數據

操作:

創建MyISAM類型的表:

create table t(id int,'name' varchar(32)) engine myisam

修改儲存引擎:

alter table 表名 engine = 儲存引擎名稱

二、視圖

基本概念:

1、視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖能包含列,其數據來自于對應的真實表(基表)

2、視圖和基表關系的示意圖

基本使用:

1.創建視圖
create view 視圖名 as <select語句>2.修改視圖
alter view 視圖名 as <select語句>3.查看創建視圖的指令
show create view 視圖名4.刪除視圖
drop view 視圖1,視圖2查看結構:
desc t_view在視圖中創建新的視圖create view 視圖中視圖名 as select no,name from 視圖名

視圖中的數據變化可以影響基表,基表的數據變化也會影響視圖

在視圖中創建新的視圖,也是指向基表

視圖最佳實踐??

  1. ??安全??
    一些數據表有著重要的信息。有些字段是保密的,不能讓用戶直接看到。這時就可以創建一個視圖,在這張視圖中只保留一部分字段。這樣,用戶就可以查詢自己需要的字段,不能查看保密的字段。

  2. ??性能??
    關系數據庫的數據常常會分表存儲,使用外鍵建立這些表之間關系。這時,數據庫查詢通常會用到連接(JOIN)。這樣做不但麻煩,效率相對也比較低。如果建立一個視圖,將相關的表和字段組合在一起,就可以避免使用 JOIN 查詢數據(通過視圖預先封裝多表JOIN操作)??。

  3. ??靈活??
    如果系統中有一張舊的表,這張表由于設計的問題,即將被廢棄。然而,很多應用都是基于這張表,不易修改。這時就可以建立一張視圖,視圖中的數據直接映射到新建的表。這樣,就可以少做很多改動,也達到了升級數據表的目的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906172.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906172.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906172.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Spring Boot后端組件】mybatis-plus使用

文章目錄 mybatis-plus使用一、依賴引入二、添加相關配置項三、功能詳解1.自增主鍵2.邏輯刪除3.操作時間自動填充4.其他字段自動填充5.分頁查詢6.自定義動態查詢7.代碼生成器8.代碼生成器(自定義模板) mybatis-plus使用 一、依賴引入 pom.xml文件 <?xml version"1.…

docker compose 啟動指定的 service

使用 Docker Compose 啟動指定服務 要在 Docker Compose 中啟動特定的服務而不是所有服務&#xff0c;可以使用以下命令&#xff1a; docker compose up [服務名] 基本用法 啟動單個服務&#xff1a; docker compose up service_name 啟動多個指定服務&#xff1a; docker …

wordcount程序

### 在 IntelliJ IDEA 中編寫和運行 Spark WordCount 程序 要使用 IntelliJ IDEA 編寫并運行 Spark 的 WordCount 程序&#xff0c;需按照以下流程逐步完成環境配置、代碼編寫以及任務提交。 --- #### 1. **安裝與配置 IntelliJ IDEA** 確保已正確安裝 IntelliJ IDEA&#x…

SmartETL函數式組件的設計與應用

SmartETL框架主要采用了面向對象的設計思想&#xff0c;將ETL過程中的處理邏輯抽象為Loader和Processor&#xff08;對應loader模塊和iterator模塊&#xff09;&#xff0c;所有流程組件需要繼承或實現DataProvider&#xff08;iter方法&#xff09;或JsonIterator&#xff08;…

鴻蒙AI開發:10-多模態大模型與原子化服務的集成

鴻蒙AI開發&#xff1a;10-多模態大模型與原子化服務的集成 在鴻蒙生態中&#xff0c;多模態大模型與原子化服務的集成是一個重要課題。本文將介紹如何在鴻蒙平臺上進行多模態大模型與原子化服務的集成&#xff0c;以及相關的技術細節和實際案例。 鴻蒙AI開發概述 什么是鴻蒙AI…

python打卡day29@浙大疏錦行

知識點回顧 類的裝飾器裝飾器思想的進一步理解&#xff1a;外部修改、動態類方法的定義&#xff1a;內部定義和外部定義 作業&#xff1a;復習類和函數的知識點&#xff0c;寫下自己過去29天的學習心得&#xff0c;如對函數和類的理解&#xff0c;對python這門工具的理解等&…

20250516使用TF卡將NanoPi NEO core開發板出廠的Ubuntu core22.04.3系統降級到Ubuntu core16.04.2

20250516使用TF卡將NanoPi NEO core開發板出廠的Ubuntu core22.04.3系統降級到Ubuntu core16.04.2 2025/5/16 10:58 緣起&#xff1a;NanoPi NEO core核心板出廠預制的OS操作系統為Ubuntu core22.04.3系統。 【雖然是友善之臂提供的最新的系統&#xff0c;但是缺少很多用用程序…

密西根大學新作——LightEMMA:自動駕駛中輕量級端到端多模態模型

導讀 目前將自動駕駛與視覺語言模型&#xff08;VLMs&#xff09;結合的研究越來越火熱&#xff0c;VLMs已經證明了其對自動駕駛的重要作用。本文引入了一種用于自動駕駛的輕量級端到端多模態模型LightEMMA&#xff0c;它能夠集成和評估當前的商業和開源模型&#xff0c;以研究…

框架之下再看HTTP請求對接后端method

在當今的軟件開發領域&#xff0c;各類框架涌現&#xff0c;極大地提升了開發效率。以 Java 開發為例&#xff0c;Spring 框架不斷演進&#xff0c;Spring Boot 更是簡化到只需引入 Maven 包&#xff0c;添加諸如SpringBootApplication、RestController等注解&#xff0c;就能輕…

Vue+Go 自定義打字素材的打字網站

Typing_Key_Board 這是一個基于Vue 3和Go語言的自定義素材打字練習網站&#xff0c;靈感來源于常用字打字練習&#xff0c;解決了大多數網站無法自定義打字素材的問題。在 Typing_Key_Board (簡稱TKB)中&#xff0c;用戶可以自定義打字素材進行練習&#xff0c;在復習代碼的同…

開源物聯網平臺(OpenRemote)

在物聯網技術蓬勃發展的當下&#xff0c;OpenRemote作為一款強大的開源物聯網平臺&#xff0c;正逐漸在多個領域嶄露頭角。尤其是在智能能源管理領域&#xff0c;它為微電網和分布式能源網絡提供了全面且靈活的數據集成與管理方案&#xff0c;展現出獨特的優勢。 OpenRemote提供…

Spring Security與SaToken的對比與優缺點分析

Spring Security與SaToken對比分析 一、框架定位 Spring Security 企業級安全解決方案&#xff0c;深度集成Spring生態提供完整的安全控制鏈&#xff08;認證、授權、會話管理、攻擊防護&#xff09;適合中大型分布式系統 SaToken 輕量級權限認證框架&#xff0c;專注Token會…

每日一道leetcode(新學數據結構版)

208. 實現 Trie (前綴樹) - 力扣&#xff08;LeetCode&#xff09; 題目 Trie&#xff08;發音類似 "try"&#xff09;或者說 前綴樹 是一種樹形數據結構&#xff0c;用于高效地存儲和檢索字符串數據集中的鍵。這一數據結構有相當多的應用情景&#xff0c;例如自動…

【自然語言處理與大模型】大模型(LLM)基礎知識④

&#xff08;1&#xff09;微調主要用來干什么&#xff1f; 微調目前最主要用在定制模型的自我認知和改變模型對話風格。模型能力的適配與強化只是輔助。 定制模型的自我認知&#xff1a;通過微調可以調整模型對自我身份、角色功能的重新認知&#xff0c;使其回答更加符合自定義…

基于 Spring Boot 瑞吉外賣系統開發(十五)

基于 Spring Boot 瑞吉外賣系統開發&#xff08;十五&#xff09; 前臺用戶登錄 在登錄頁面輸入驗證碼&#xff0c;單擊“登錄”按鈕&#xff0c;頁面會攜帶輸入的手機號和驗證碼向“/user/login”發起請求。 定義UserMapper接口 Mapper public interface UserMapper exte…

什么是TCP協議?它存在哪些安全挑戰?

一、TCP協議概述 TCP&#xff08;傳輸控制協議&#xff09;是互聯網中面向連接、可靠的傳輸層協議&#xff0c;主要負責在不可靠的IP層上實現數據的可靠傳輸。其核心特點包括&#xff1a; 面向連接&#xff1a;通信前需通過三次握手&#xff08;SYN-SYN/ACK-ACK&#xff09;建…

12條熱門照片提示

12條熱門照片提示 1. 賽博朋克光彩 (Cyberpunk Glow-Up) 未在文件中顯示2. 卡通化我 (Cartoonify Me) Convert this image of [your subject here] into a 3D Pixar-style cartoon clean lines, soft lighting, expressive features, and a polished render that feels cine…

Java求職面試揭秘:從Spring到微服務的技術挑戰

文章簡述 在這篇文章中&#xff0c;我們將通過一個幽默的面試場景&#xff0c;揭秘互聯網大廠Java求職者在面試中面對的技術挑戰。面試官將從Spring框架、微服務架構到大數據處理等多個維度進行提問&#xff0c;并詳細講解這些技術點的應用場景和解決方案&#xff0c;幫助小白…

用Python輸出一個文件夾的所有文件結構

輸出一個文件夾的所有目錄和文件結構 新建一個Python文件&#xff0c;輸入 這個文件表示查詢一個文件夾所有的目錄結構 import osdef print_directory_structure(root_dir):"""打印樹狀目錄結構&#xff08;優化版&#xff09;"""if not os.p…

R語言的專業網站top5推薦

李升偉 以下是學習R語言的五個頂級專業網站推薦&#xff0c;涵蓋教程、社區、資源庫和最新動態&#xff1a; 1.R項目官網 (r-project.org) R語言的官方網站&#xff0c;提供軟件下載、文檔、手冊和常見問題解答。特別適合初學者和高級用戶&#xff0c;是獲取R語言核心資源的…