PostgreSQL 初體驗

目錄

一、PostgreSQL

1. 簡介

2. 特點

(1)?開源免費(Open Source)

(2)標準兼容(SQL Compliance)

(3)?豐富的數據類型(Data Types)

(4)?強大的事務與并發控制(Transactions & Concurrency)

(5)高度可擴展(Extensibility)

(6)企業級安全性(Security)

3. 優勢

4. 架構

5. 應用場景

6. 結論

二、安裝PostgreSQL

1. 編譯安裝

(1)安裝編譯安裝所需環境

(2)編譯安裝

(3)配置環境變量

(4)登錄數據庫

三、PostgreSQL 結構

1. PG 的邏輯結構?編輯

2. PG 的物理結構

(1)軟件安裝目錄

(2)數據庫目錄結構?編輯

(3)數據庫有兩個基礎的對象,一個是oid, 一個是表空間

(4)base 的物理布局設計

(5)表空間跟數據庫關系


一、PostgreSQL

1. 簡介

PostgreSQL(簡稱Postgres)是一款功能強大的開源對象-關系型數據庫管理系統(ORDBMS),強調對SQL標準的全面支持,并逐漸發展成為兼具關系型數據庫嚴謹性和面向對象靈活性的開源數據庫。

其核心設計理念包括高度可擴展性、數據完整性及對復雜查詢的支持,廣泛應用于企業級應用、數據分析、地理信息系統(GIS)等領域

2. 特點

(1)?開源免費(Open Source)
  • 基于?PostgreSQL License(類 BSD 協議),允許自由使用、修改和商業發布,無版權限制。
  • 社區驅動開發,全球開發者貢獻代碼,版本迭代活躍(如近年新增 JSONB 全文索引、向量存儲等前沿功能)。
(2)標準兼容(SQL Compliance)
  • 支持?ANSI SQL 標準(如窗口函數、CTE、事務隔離級別),同時擴展了大量企業級特性(如遞歸查詢、行級鎖)。
  • 兼容?SQL/JSON 標準,JSONB 類型支持高效索引和查詢,適合現代 Web 應用的半結構化數據場景。
(3)?豐富的數據類型(Data Types)
  • 基礎類型:除傳統數值、字符串、日期外,支持數組(Array)、枚舉(Enum)、范圍類型(如 int4range 表示整數區間)。
  • 高級類型
    • 空間數據:通過 PostGIS 擴展支持幾何圖形(Point、LineString、Polygon)和地理信息系統(GIS)功能。
    • 全文搜索:內置 tsvector/tsquery 類型,支持分詞、模糊匹配和相關性排序。
    • 新興類型:支持 JSONB(可索引的 JSON)、XML、IPv6、UUID,以及 PostgreSQL 15 + 新增的向量類型(用于 AI / 機器學習場景)。
(4)?強大的事務與并發控制(Transactions & Concurrency)
  • ACID 強一致性:通過預寫日志(WAL, Write-Ahead Logging)保證數據持久化,崩潰恢復機制可靠。
  • MVCC(多版本并發控制):默認隔離級別為?Read Committed,通過版本號實現無鎖讀,避免寫鎖阻塞讀操作,適合高并發場景(如電商訂單、實時分析)。
  • 細粒度鎖控制:支持表級鎖、行級鎖(SELECT ... FOR UPDATE)和 advisory lock(自定義應用層鎖)。
(5)高度可擴展(Extensibility)
  • 插件生態:通過 CREATE EXTENSION 機制快速集成功能,例如:
    • PostGIS:空間數據處理,用于地圖服務、物流軌跡分析。
    • pg_cron:定時任務調度,替代 Linux cron。
    • Citus:分布式擴展,支持分庫分表,提升大數據量下的查詢性能。
    • pg_stat_statements:SQL 性能分析,定位慢查詢。
  • 自定義函數:支持 PL/pgSQL、Python、Java 等多語言編寫存儲過程,甚至動態加載 C 語言擴展。
  • 存儲過程與觸發器:支持復雜業務邏輯下沉到數據庫層,減少應用層壓力。
(6)企業級安全性(Security)
  • 認證機制:支持 LDAP、Kerberos、SCRAM-SHA-256 密碼認證,兼容多認證源(如 AWS IAM 數據庫認證)。
  • 權限控制:基于角色(ROLE)的細粒度權限管理,支持表級、列級權限(如敏感字段隱藏)和行級安全策略(RLS, Row-Level Security),實現 “不同用戶看到不同數據”。
  • 加密能力
    • 傳輸層:支持 SSL/TLS 加密連接,防止數據竊聽。
    • 存儲層:通過 pgcrypto 擴展實現字段級加密,或集成云服務商的透明數據加密(TDE)。
  • 審計日志:內置日志記錄功能,可追蹤 SQL 操作,滿足合規性要求(如 GDPR、等保 2.0)。

3. 優勢

  • 高性能:PostgreSQL 通過優化查詢計劃、支持并行查詢、分區表等特性,提供卓越性能表現,即使處理大規模數據和高并發訪問時,也能保持高效響應速度。

  • 高可用性:支持主從復制、流復制和邏輯復制等多種復制方式,使數據庫系統輕松實現高可用性和容災備份,故障時能快速恢復服務,確保業務連續性。

  • 靈活性:豐富的數據類型和高級特性使其能靈活應對各種復雜業務場景,無論是結構化數據還是非結構化數據,都能提供強大支持。

  • 社區支持:擁有活躍的開發者社區和豐富生態系統,社區中有大量教程、文檔和插件可供使用,眾多經驗豐富的開發者也愿意分享經驗、解答問題。

  • 成本效益:作為開源軟件,降低了企業成本投入,其卓越性能和廣泛應用場景使其成為許多企業的首選數據庫產品。

4. 架構

  • 邏輯層面包含數據庫集群、表空間、數據庫、Schema、表、索引等結構;

  • 物理層面包括數據文件、日志文件、參數文件、控制文件等存儲方式,其中數據塊(Page)作為數據讀寫基本單位,在 PostgreSQL 中扮演關鍵角色。通過優化數據塊的讀寫效率和布局方式,PostgreSQL 能進一步提高性能表現。

5. 應用場景

  • 企業應用:如ERP、CRM、HRM等系統,需要處理復雜的事務和查詢操作;postgresql憑借其高性能和事務處理能力,能夠為企業應用提供穩定可靠的數據支持。

  • 數據分析:在數據倉庫和商業智能領域,PostgreSQL 憑借其豐富的數據類型和高級查詢特性,能夠輕松應對大規模數據分析和挖掘任務。

  • web 應用:對于需要高并發訪問和實時數據處理的 Web 應用來說,PostgreSQL 的 MVCC 機制和擴展性特性使得其成為了一個理想的選擇。

  • 地理信息系統:通過 PostGIS 擴展,PostgreSQL 能夠支持地理空間數據的存儲和分析功能,為 GIS 應用提供了強大的數據支持。

  • 物聯網與大數據:隨著物聯網和大數據技術的不斷發展,PostgreSQL 憑借其高性能、可擴展性和豐富的數據類型特性,在物聯網和大數據領域中也得到了廣泛的應用。

6. 結論

PostgreSQL 是一款功能強大、開源的數據庫管理系統,在信息化建設中發揮越來越重要的作用,其豐富的特性、卓越的性能、靈活的應用場景以及強大的社區支持使它成為了眾多企業與開發者的首選數據庫產品。

二、安裝PostgreSQL

1. 編譯安裝

(1)安裝編譯安裝所需環境
1.下載依賴包   dnf -y install gcc libicu libicu-devel readline-devel zlib zlib-devel
2. 解壓  tar zxvf
3. 切換進目錄
(2)編譯安裝
配置編譯   ./configure --prefix=/usr/local/pgsql
make && make install
(3)配置環境變量
5.創建用戶  useradd postgres
6.創建數據存儲目錄   mkdir /usr/local/pgsql/data
7.改目錄歸屬  chown -R postgres /usr/local/pgsql/data
8.配置環境變量     vim /etc/profile函數庫路徑 	export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/loacl/pgsql/lib命令路徑		export  PATH=$PATH:/usr/local/pgsql/bin
9.刷新環境變量   source /etc/profile
查看    echo $PATH/LD_LIBRARY_PATH
(4)登錄數據庫
10.初始化
切換用戶  su - postgres
初始   /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
11.啟動數據庫
啟動程序  /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
12.登錄
psql

三、PostgreSQL 結構

1. PG 的邏輯結構

  • 集群(Cluster)

    • 一個 PostgreSQL 服務實例對應一個集群,包含多個數據庫。

    • 通過?initdb?初始化時創建,是物理數據存儲的頂層容器。

  • 數據庫(Database)

    • 集群內可創建多個數據庫,每個數據庫獨立(默認不共享數據)。

    • 用戶通過?CREATE DATABASE?創建,不同數據庫通過名稱隔離。

  • 模式(Schema)

    • 每個數據庫包含多個模式(類似于命名空間),用于邏輯分組表、視圖等對象。

    • 默認模式為?public,可通過?CREATE SCHEMA?創建新模式

  • User 用戶

    • postgres 用戶是默認創建的超級管理員;每個數據庫都有一個 OWNER 用戶,每個用戶可以 OWNER 多個數據庫。

  • 數據庫對象

    • 包含 table、index、view、序列、函數等,數據最終存儲在表中。表由多個 page[block]組成,一個 page 包含(頁頭信息、空閑空間、Tuple),實際存儲數據的區域對應到物理層面上是文件,由 page 構成。

    • 模式內包含具體對象,如表、視圖、索引、函數等。

    • 對象通過?<schema>.<object>?格式引用(如?public.users

  • tablespace:存儲數據庫的一個邏輯空間,可以存放不同的數據庫,對應在物理層面上是一個目錄。

  • OID:所有數據庫對象都有各自的 oid(object identifiers),oid 是一個無符號的四字節整數,相關對象的 oid 存放在相關的 system catalog 表中,如數據庫的 oid 和表的 oid 分別存放在 pg_database、pg_class 表中。

  • 總結
    (1)從大小排列:database cluster --> databases --> schema --> objects。
    (2)Tablespace 是數據最大的存儲空間,Database 是構成表空間的存儲單元,pages 是 PostgreSQL 數據庫中最小的 IO 單元。

2. PG 的物理結構

(1)軟件安裝目錄

其中各個目錄里的內容及用途:

  • bin:二進制可執行文件,是 PG 數據庫的所有相關命令所在,為方便使用需設置到環境變量中
  • lib:動態庫目錄,PostgreSQL 運行所需要的動態庫都在此目錄下
  • share:放有文檔和配置模板文件,一些拓展插件的 SQL 文件在此目錄下的 extension 中
  • data:目錄是數據庫集群的物理存儲核心,包含用戶數據、元數據和配置文件
  • include:目錄則提供編譯擴展和客戶端程序所需的 C 語言頭文件
(2)數據庫目錄結構
-bash - 4.2$ tree -L 1 -d /usr/local/pgsql/data/
/usr/local/pgsql/data/ —— 數據目錄├── base —— 表和索引文件存放目錄
├── global —— 影響全局的系統表存放目錄
├── pg_commit_ts —— 事務提交時間戳數據存放目錄
├── pg_dynshmem —— 被動態共享所使用的文件存放目錄
├── pg_logical —— 用于邏輯復制的狀態數據
├── pg_multixact —— 多事務狀態的數據
├── pg_notify —— LISTEN/NOTIFY 狀態的數據
├── pg_replslot —— 復制槽數據存放目錄
├── pg_serial —— 已提交的可序列化信息存放目錄
├── pg_snapshots —— 快照
├── pg_stat —— 統計信息
├── pg_stat_tmp —— 統計信息子系統臨時文件
├── pg_subtrans —— 子事務狀態數據
├── pg_tblspc —— 表空間
├── pg_twophase —— 預備事務狀態文件
├── pg_wal —— 事務日志(預寫日志)
└── pg_xact —— 日志提交狀態的數據存放目錄#是最小化系統,可以臨時安裝包管理器進行查看 yum install -y tree
#或手動解析成樹狀圖  find /usr/local/pgsql/data/ -type d | sed 's/[^-][^\/]*\//--/g; s/^/   /; s/\/$/|/'
#非樹狀 ls -R /usr/local/pgsql/data/  通過 -R 參數遞歸顯示目錄層級

?文件和目錄相關作用描述

filesdescription
PG_VERSION包含 PostgreSQL 主版本號的文件
pg_hba.conf控制 PostgreSQL 客戶端驗證的文件,控制 PG 客戶端認證主機、數據庫、用戶、IP 地址
pg_ident.conf控制 PostgreSQL 用戶名映射的文件,配置操作系統用戶和數據庫服務器上的用戶映射
postgresql.conf配置參數文件
postgresql.auto.conf用于存儲在 ALTER SYSTEM(版本 9.4 及更高版本)中設置的配置參數的文件
postmaster.opts記錄服務器上一次啟動的命令行選項
subdirectoriesdescription
base/包含每個數據庫子目錄的子目錄
global/包含集群范圍表的子目錄,例如 pg_database 和 pg_control
pg_commit_ts/包含事務提交時間戳數據的子目錄。9.5 版本以后
clog / 或 pg_xact(9.6 及 earlier)包含事務提交狀態數據的子目錄,它在版本 10 中重命名為 pg_xact。CLOG 將在 5.4 章節中講解。
dynshmem/包含動態共享內存子系統使用的文件的子目錄。9.4 版本以后
logical/包含邏輯解碼的狀態數據的子目錄。9.4 版本以后
pg_multixact/包含多事務狀態數據的目錄(用于共享行鎖)
pg_notify/包含 LISTEN/NOTIFY 狀態數據的子目錄
pg_replslot/包含復制槽數據的子目錄(9.4 版本以后)
pg_serial/包含已提交的可序列化事務信息(9.1 版本以后)信息的子目錄
pg_snapshots/包含導出快照的子目錄(9.2 版本以后)。PostgreSQL 的函數 pg_export_snapshot 在此子目錄中創建快照信息文件
pg_stat/包含統計子系統永久文件的子目錄
pg_stat_tmp/包含統計子系統臨時文件的子目錄
pg_subtrans/包含子事務狀態數據的子目錄
pg_tblspc/表空間符號鏈接目錄
pg_twophase/包含 prepare 事務的狀態文件
pg_wal/(Version 10 or later)包含 WAL(Write Ahead Logging)段文件的子目錄。在版本 10 中從 pg_xlog 重命名而來。
pg_xact/(Version 10 or later)包含事務提交狀態數據的子目錄。在版本 10 中從 pg_clog 重命名而來。CLOG 將在 5.4 章節中詳解。
pg_xlog/(Version 9.6 or earlier)包含 WAL(Write Ahead Logging)段文件的子目錄。在版本 10 中重命名為 pg_wal。
(3)數據庫有兩個基礎的對象,一個是oid, 一個是表空間
  • OID(Object Identifier)

    • 每個數據庫對象(如表、索引)分配唯一的 32 位整數標識符。

    • 系統表(如?pg_class)記錄 OID 與對象名的映射。

    -- 查看表的 OID  
    SELECT oid, relname FROM pg_class WHERE relname = 'users';  
  • 表空間(Tablespace)

    • 定義數據文件的存儲路徑,允許將數據分散到不同磁盤。

    • 默認表空間:

      • pg_default:存儲用戶數據(對應?base?目錄)。

      • pg_global:存儲集群級系統表(對應?global?目錄)。

(4)base 的物理布局設計
  • base?目錄

    • 每個數據庫在?base?下有一個以數據庫 OID 命名的子目錄。

    • 示例:數據庫 OID 為?16384?→ 目錄為?base/16384

  • 數據文件

    • 每個表或索引對應一個或多個文件(文件名為?relfilenode?值)。

    • 文件命名規則:<relfilenode>(如?12345)。

    • 大表可能被拆分為多個文件(如?12345.1,?12345.2)。

(5)表空間跟數據庫關系
  • 在 Oracle 數據庫中:一個表空間只屬于一個數據庫使用,而一個數據庫可以擁有多個表空間,屬于 “一對多” 的關系。
  • 在 PostgreSQL 集群中:一個表空間可以讓多個數據庫使用,而一個數據庫可以使用多個表空間,屬于 “多對多” 的關系。

??? 系統自帶表空間:

  • 表空間 pg_default 是用來存儲系統目錄對象、用戶表、用戶表 index、臨時表、臨時表 index、內部臨時表的默認空間,對應存儲目錄 $PGDATA/base/。
  • 表空間 pg_global 用來存放系統字典表,對應存儲目錄 $PGDATA/global/。

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

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

相關文章

05_核支持向量機

描述 核支持向量機&#xff08;通常簡稱為SVM&#xff09;可以推廣到更復雜模型的擴展&#xff0c;這些模型無法被輸入空間的超平面定義。 SVM 的核心思想是找到一個最優的超平面&#xff0c;將不同類別的數據分開。這個超平面不僅要能夠正確分類數據&#xff0c;還要使得兩個…

Java + 鴻蒙雙引擎:ZKmall開源商城如何定義下一代B2C商城技術標準?

在 B2C 電商領域持續革新的當下&#xff0c;技術架構的優劣成為決定商城競爭力的核心要素。ZKmall開源商城以其創新融合的 Java 與鴻蒙雙引擎&#xff0c;為下一代 B2C 商城技術標準勾勒出全新藍圖&#xff0c;在性能、兼容性、拓展性等關鍵維度實現了重大突破。 一、Java 技術…

關于 Web 漏洞原理與利用:3. CSRF(跨站請求偽造)

一、原理&#xff1a; 利用用戶登錄態偽造操作 CSRF&#xff08;Cross-Site Request Forgery&#xff0c;跨站請求偽造&#xff09;是攻擊者“借刀殺人”&#xff0c;借用用戶瀏覽器中已有的登錄狀態&#xff0c;誘導用戶完成攻擊者指定的操作。 1. 基本機制分解 1&#xf…

【HTML5】【AJAX的幾種封裝方法詳解】

【HTML5】【AJAX的幾種封裝方法詳解】 AJAX (Asynchronous JavaScript and XML) 封裝是為了簡化重復的異步請求代碼&#xff0c;提高開發效率和代碼復用性。下面我將介紹幾種常見的 AJAX 封裝方式。 方法1. 基于原生 XMLHttpRequest 的封裝 XMLHttpRequest。其主要特點如下…

C++ - 網絡編程之初始連接(Winsock2 概述、初始連接案例、初始連接案例解讀)

一、Winsock2 概述 Winsock2&#xff08;Windows Sockets 2&#xff09;是微軟提供的 Windows 平臺網絡編程庫 二、初始連接案例 1、Server #include <winsock2.h> #include <ws2tcpip.h> #include <iostream>#pragma comment(lib, "ws2_32.lib&quo…

Spring Cloud Gateway深度解析:原理、架構與生產實踐

文章目錄 前言一、概述二、核心架構設計及設計原理2.1 分層架構模型網絡層&#xff08;I/O模型&#xff09;核心處理層 2.2 核心組件協作流程路由定位階段過濾器執行階段 2.3 響應式編程模型實現Reactor上下文傳遞背壓處理機制 2.4 動態路由設計原理2.5 異常處理體系2.6 關鍵路…

游戲開發實戰(一):Python復刻「崩壞星穹鐵道」嗷嗚嗷嗚事務所---源碼級解析該小游戲背后的算法與設計模式【純原創】

文章目錄 奇美拉項目游戲規則奇美拉(Chimeras)檔案領隊成員 結果展示&#xff1a; 奇美拉項目 由于項目工程較大&#xff0c;并且我打算把我的思考過程和實現過程中踩過的坑都分享一下&#xff0c;因此會分3-4篇博文詳細講解本項目。本文首先介紹下游戲規則并給出奇美拉檔案。…

說一下響應狀態碼有哪些?

HTTP響應狀態碼分類(RFC 7231標準) 1. 1xx(信息類) 臨時響應,表示請求已被接收,需要繼續處理 100 Continue:客戶端應繼續發送請求體 101 Switching Protocols:服務器同意升級協議(如WebSocket) 102 Processing(WebDAV):服務器正在處理但未完成 2. 2xx(成功類)…

Linux多進程 寫時拷貝 物理地址和邏輯地址

如果不采用寫時拷貝技術 直接fork子進程 會發生什么&#xff1f; 如上圖所示 橙色為父進程所占內存空間 綠色為子進程所占內存空間。 如果子進程只是需要做出一點點和父進程不一樣的 其余和父進程均為相同 第一 就會出現復制開銷比較大&#xff1b;第二占用內存空間 所以 …

【TTS回顧】Bert-VITS2深度解析:融合BERT的多語言語音合成模型

一、基本介紹 Bert-VITS2是基于VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的改進版本,通過整合BERT語義編碼能力,顯著提升了語音合成的自然度和表現力。項目地址:https://github.com/fishaudio/Bert-VITS2 語種自然度相似度流…

win11下docker 的使用方案

Windows 11 Docker 使用方式對比 特性Docker Desktop (使用 WSL 2 后端)直接在 WSL 2 中安裝 Docker Engine安裝與易用性極簡&#xff0c;一鍵安裝&#xff0c;提供直觀的 GUI 界面 管理容器、鏡像、卷等相對復雜&#xff0c;需手動在 Linux 環境中安裝 Docker Daemon 并配置G…

配合本專欄前端文章對應的后端文章——從模擬到展示:一步步搭建傳感器數據交互系統

對應文章&#xff1a;進一步完善前端框架搭建及vue-konva依賴的使用&#xff08;Vscode&#xff09;-CSDN博客 目錄 一、后端開發 1.模擬傳感器數據 2.前端頁面呈現數據后端互通 2.1更新模擬傳感器數據程序&#xff08;多次請求&#xff09; 2.2&#x1f9e9; 功能目標 …

牛客網NC209794:使徒襲來

牛客網NC209794:使徒襲來 題目背景 問題分析 數學建模 設三位駕駛員的戰斗力分別為 a, b, c已知條件&#xff1a;a b c n (n為輸入的正整數)目標&#xff1a;求 a b c 的最小值 解題思路 根據算術-幾何平均值不等式(AM-GM不等式)&#xff0c;對于任意正實數a, b, c&a…

動態規劃之爬樓梯模型

文章目錄 爬樓梯模型LeetCode 746. 使用最小花費爬樓梯思路Golang 代碼 LeetCode 377. 組合總和 Ⅳ思路Golang 代碼 LeetCode 2466. 統計構造好字符串的方案數思路Golang 代碼 LeetCode 2266. 統計打字方案數思路Golang 代碼 爬樓梯模型 爬樓梯模型是動態規劃當中的一個經典模型…

【每天一個知識點】湖倉一體(Data Lakehouse)

“湖倉一體”&#xff08;Data Lakehouse&#xff09;是一種融合了數據湖&#xff08;Data Lake&#xff09;與數據倉庫&#xff08;Data Warehouse&#xff09;優勢的新型數據架構。它既繼承了數據湖對多類型數據的靈活存儲能力&#xff0c;也具備數據倉庫對結構化數據的高效查…

Linux | mdadm 創建軟 RAID

注&#xff1a;本文為 “Linux mdadm RAID” 相關文章合輯。 略作重排&#xff0c;未整理去重。 如有內容異常&#xff0c;請看原文。 Linux 下用 mdadm 創建軟 RAID 以及避坑 喵??&#xfecc;?? Oct 31, 2023 前言 linux 下組軟 raid 用 mdadm 命令&#xff0c;multi…

Unity自定義shader打包SpriteAtlas圖集問題

Unity打包圖集還是有一些坑的&#xff0c;至于圖集SpriteAtlas是什么請參考我之前寫的文章&#xff1a;【Sprite Atlas】Unity新圖集系統SpriteAtlas超詳細使用教程_spriteatlas 使用-CSDN博客 問題&#xff1a; 今天碰到的問題是&#xff0c;shader繪制的時候&#xff0c;因…

如何用 OceanBase 的 LOAD DATA 旁路導入進行大表遷移

前言 在日常工作中&#xff0c;我們時常會遇到需要將某個大數據量的單表進行遷移的情況。在MySQL中&#xff0c;針對這樣的大表&#xff0c;我們通常會選擇先將原表導出為csv格式&#xff0c;然后利用LOAD DATA語法來導入csv文件&#xff0c;這種方法相較于mysqldump在效率上有…

VR 互動實訓的顯著優勢?

&#xff08;一&#xff09;沉浸式學習&#xff0c;提升培訓效果? 在 VR 互動實訓中&#xff0c;員工不再是被動的知識接受者&#xff0c;而是主動的參與者。以銷售培訓為例&#xff0c;員工戴上 VR 設備&#xff0c;就能置身于逼真的銷售場景中&#xff0c;與虛擬客戶進行面對…

OpenCV 第6課 圖像處理之幾何變換(重映射)

1. 概述 簡單來說,重映射就是把一副圖像內的像素點按照規則映射到到另外一幅圖像內的對應位置上去,形成一張新的圖像。 因為原圖像與目標圖像的像素坐標不是一一對應的。一般情況下,我們通過重映射來表達每個像素的位置(x,y),像這樣: g(x,y)=f(h(x,y)) 在這里g()是目標圖…