PostgreSQL面試題及詳細答案120道(21-40)

前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux… 。

前后端面試題-專欄總目錄

在這里插入圖片描述

文章目錄

  • 一、本文面試題目錄
      • 21. 寫出查詢表中重復數據并刪除的SQL語句。
      • 22. 如何實現批量插入數據?COPY命令與INSERT相比有什么優勢?
      • 23. 解釋窗口函數(Window Function)的作用,舉例說明ROW_NUMBER()、RANK()的用法。
      • 24. 如何使用JOIN(內連接、左連接、全連接)實現多表關聯查詢?
      • 25. 寫出按條件更新數據的SQL,如何避免更新時的鎖沖突?
      • 26. 如何查詢表的大小、索引大小?使用哪些系統函數?
      • 27. 什么是臨時表?臨時表的生命周期如何管理?
      • 28. 如何實現數據的導入導出(如導出為CSV、導入外部數據)?
      • 29. 解釋聚合函數(如SUM、COUNT)與GROUP BY的使用場景,如何處理NULL值?
      • 30. 如何使用正則表達式進行模糊查詢?舉例說明~、~*操作符的區別。
      • 31. 寫出查詢某列非空且滿足特定條件的SQL,如何優化這類查詢的性能?
      • 32. 如何創建和使用函數(Function)?函數與存儲過程(Procedure)的區別是什么?
      • 33. 如何使用觸發器(Trigger)實現數據的自動校驗或日志記錄?
      • 34. 如何查詢慢查詢日志?如何分析慢查詢的瓶頸?
      • 35. 解釋DISTINCT與DISTINCT ON的區別,舉例說明DISTINCT ON的用法。
      • 36. PostgreSQL有哪些索引類型?GiST、GIN索引的適用場景是什么?
      • 37. 什么是部分索引(Partial Index)?如何通過部分索引優化查詢性能?
      • 38. 解釋索引選擇性(Selectivity)的概念,如何判斷索引是否有效?
      • 39. 為什么有時索引會失效?列舉導致索引失效的常見情況。
      • 40. 如何查看查詢的執行計劃?如何通過執行計劃判斷是否使用了索引?

一、本文面試題目錄

21. 寫出查詢表中重復數據并刪除的SQL語句。

查詢重復數據(以users表的email列為例):

SELECT email, COUNT(*) 
FROM users 
GROUP BY email 
HAVING COUNT(*) > 1;

刪除重復數據(保留最小id的記錄)

DELETE FROM users 
WHERE id NOT IN (SELECT MIN(id) FROM users GROUP BY email
);

22. 如何實現批量插入數據?COPY命令與INSERT相比有什么優勢?

批量插入方法

  1. 多值INSERT
    INSERT INTO users (name, age) 
    VALUES ('Alice', 25), ('Bob', 30), ('Charlie', 35);
    
  2. COPY命令(從文件導入):
    psql -c "\COPY users (name, age) FROM '/path/to/data.csv' WITH CSV HEADER"
    

COPY優勢

  • 性能:比INSERT快10-100倍,直接寫入數據文件,跳過SQL解析。
  • 事務安全:支持在事務中執行,失敗時自動回滾。
  • 處理大文件:適合導入GB級數據,內存占用低。

23. 解釋窗口函數(Window Function)的作用,舉例說明ROW_NUMBER()、RANK()的用法。

窗口函數作用
在分組數據上執行計算,不合并結果行,保留原始記錄。語法:

FUNCTION() OVER (PARTITION BY col ORDER BY col)

示例(按部門排序員工):

SELECT name, dept_id, salary,ROW_NUMBER() OVER (PARTITION BY dept_id ORDER BY salary DESC) AS rank,RANK() OVER (PARTITION BY dept_id ORDER BY salary DESC) AS dense_rank
FROM employees;
  • ROW_NUMBER():連續排名(1,2,3),即使值相同。
  • RANK():跳躍排名(1,1,3),相同值排名相同,后續排名跳過。

24. 如何使用JOIN(內連接、左連接、全連接)實現多表關聯查詢?

示例表結構

CREATE TABLE departments (id INT PRIMARY KEY, name TEXT);
CREATE TABLE employees (id INT PRIMARY KEY, name TEXT, dept_id INT REFERENCES departments(id));

JOIN類型

  1. 內連接(INNER JOIN):只返回匹配的記錄。
    SELECT e.name, d.name 
    FROM employees e 
    INNER JOIN departments d ON e.dept_id = d.id;
    
  2. 左連接(LEFT JOIN):返回左表所有記錄,右表無匹配時補NULL。
    SELECT e.name, d.name 
    FROM employees e 
    LEFT JOIN departments d ON e.dept_id = d.id;
    
  3. 全連接(FULL OUTER JOIN):返回左右表所有記錄,無匹配時補NULL。
    SELECT e.name, d.name 
    FROM employees e 
    FULL OUTER JOIN departments d ON e.dept_id = d.id;
    

25. 寫出按條件更新數據的SQL,如何避免更新時的鎖沖突?

更新示例(將部門ID為1的員工工資提高10%):

UPDATE employees 
SET salary = salary * 1.1 
WHERE dept_id = 1;

避免鎖沖突的方法

  1. 分批更新
    UPDATE employees 
    SET salary = salary * 1.1 
    WHERE dept_id = 1 
    LIMIT 1000;  -- 每次更新1000條,循環執行
    
  2. 降低隔離級別:使用READ COMMITTED(默認)而非REPEATABLE READ
  3. 減少鎖持有時間:避免在事務中執行耗時操作。
  4. 使用HOT UPDATE:確保更新時不改變索引列,減少索引鎖。

26. 如何查詢表的大小、索引大小?使用哪些系統函數?

查詢表和索引大小

-- 表大小(包含TOAST和空閑空間)
SELECT pg_size_pretty(pg_total_relation_size('table_name'));-- 索引大小總和
SELECT pg_size_pretty(pg_indexes_size('table_name')
);-- 每個索引的大小
SELECT indexrelname, pg_size_pretty(pg_relation_size(indexrelid))
FROM pg_stat_user_indexes 
WHERE relname = 'table_name';

關鍵函數

  • pg_total_relation_size():表總大小(含索引、TOAST)。
  • pg_relation_size():表或索引的原始大小。
  • pg_size_pretty():將字節轉換為易讀單位(如MB、GB)。

27. 什么是臨時表?臨時表的生命周期如何管理?

臨時表
臨時表是會話級或事務級的表,數據僅對當前會話/事務可見。

創建與生命周期

-- 會話級臨時表(會話結束時自動刪除)
CREATE TEMP TABLE temp_users (id INT, name TEXT);-- 事務級臨時表(事務結束時自動刪除)
CREATE TEMP TABLE temp_logs (msg TEXT) ON COMMIT DROP;

特點

  • 數據存儲在pg_temp_*模式中,與主表隔離。
  • 可提高復雜查詢性能(如緩存中間結果)。

28. 如何實現數據的導入導出(如導出為CSV、導入外部數據)?

導出為CSV

# 方法1:使用psql \copy命令(客戶端執行)
psql -c "\COPY users TO '/path/to/export.csv' WITH CSV HEADER"# 方法2:使用SQL(服務端執行,需文件權限)
COPY users TO '/var/lib/postgresql/export.csv' WITH CSV HEADER;

導入CSV

psql -c "\COPY users FROM '/path/to/import.csv' WITH CSV HEADER"

注意事項

  • \copy由客戶端處理,COPY由服務端處理。
  • 服務端路徑需為PostgreSQL用戶可訪問的位置。

29. 解釋聚合函數(如SUM、COUNT)與GROUP BY的使用場景,如何處理NULL值?

聚合函數與GROUP BY

  • 聚合函數:對一組值執行計算(如SUM()COUNT()AVG())。
  • GROUP BY:將結果按指定列分組,每組應用聚合函數。

示例

-- 計算各部門的總工資(排除NULL值)
SELECT dept_id, SUM(salary) 
FROM employees 
GROUP BY dept_id;-- 計算員工總數(包含NULL值的行)
SELECT COUNT(*) FROM employees;-- 計算非NULL值的數量
SELECT COUNT(salary) FROM employees;

處理NULL值

  • 使用COALESCE(salary, 0)將NULL替換為0。
  • COUNT(*)統計所有行,COUNT(col)忽略NULL值。

30. 如何使用正則表達式進行模糊查詢?舉例說明*操作符的區別。

正則表達式查詢

  • ~:大小寫敏感匹配。
  • ~*:大小寫不敏感匹配。

示例

-- 查詢以"Mr."開頭的名字(大小寫敏感)
SELECT * FROM users WHERE name ~ '^Mr\.';-- 查詢包含數字的郵箱(大小寫不敏感)
SELECT * FROM users WHERE email ~* '[0-9]+';

常用元字符

  • ^:行首匹配。
  • $:行尾匹配。
  • .:任意單個字符。
  • *:零次或多次重復。
  • +:一次或多次重復。

31. 寫出查詢某列非空且滿足特定條件的SQL,如何優化這類查詢的性能?

查詢示例(查找年齡非空且大于30的員工):

SELECT * FROM employees 
WHERE age IS NOT NULL AND age > 30;

優化方法

  1. 創建索引
    CREATE INDEX idx_age ON employees (age) WHERE age IS NOT NULL;  -- 部分索引
    
  2. 避免函數操作
    -- 低效:函數導致索引失效
    WHERE UPPER(name) = 'JOHN';-- 高效:使用表達式索引
    CREATE INDEX idx_name_upper ON employees (UPPER(name));
    
  3. 統計信息更新
    ANALYZE employees;  -- 更新統計信息,幫助優化器選擇索引
    

32. 如何創建和使用函數(Function)?函數與存儲過程(Procedure)的區別是什么?

創建函數(計算部門平均工資):

CREATE FUNCTION get_dept_avg(dept_id INT) 
RETURNS NUMERIC AS $$
BEGINRETURN (SELECT AVG(salary) FROM employees WHERE employees.dept_id = get_dept_avg.dept_id);
END;
$$ LANGUAGE plpgsql;

調用函數

SELECT get_dept_avg(1);

函數 vs 存儲過程

特性函數(Function)存儲過程(Procedure)
返回值必須返回值(RETURNS無返回值(VOID
事務控制不可使用COMMIT/ROLLBACK可控制事務
調用方式在SQL表達式中調用使用CALL語句調用
副作用應無副作用(冪等)可執行修改操作

33. 如何使用觸發器(Trigger)實現數據的自動校驗或日志記錄?

示例1:自動校驗(禁止刪除活躍用戶)

CREATE FUNCTION prevent_active_user_deletion() 
RETURNS TRIGGER AS $$
BEGINIF OLD.status = 'active' THENRAISE EXCEPTION 'Cannot delete active user';END IF;RETURN OLD;
END;
$$ LANGUAGE plpgsql;CREATE TRIGGER check_active_user
BEFORE DELETE ON users
FOR EACH ROW EXECUTE FUNCTION prevent_active_user_deletion();

示例2:日志記錄(記錄員工工資變更)

CREATE TABLE salary_log (emp_id INT,old_salary NUMERIC,new_salary NUMERIC,changed_at TIMESTAMP DEFAULT NOW()
);CREATE FUNCTION log_salary_change() 
RETURNS TRIGGER AS $$
BEGININSERT INTO salary_log (emp_id, old_salary, new_salary)VALUES (OLD.id, OLD.salary, NEW.salary);RETURN NEW;
END;
$$ LANGUAGE plpgsql;CREATE TRIGGER salary_change_log
AFTER UPDATE OF salary ON employees
FOR EACH ROW EXECUTE FUNCTION log_salary_change();

34. 如何查詢慢查詢日志?如何分析慢查詢的瓶頸?

啟用慢查詢日志(修改postgresql.conf):

log_statement = 'all'          # 記錄所有SQL
log_min_duration_statement = 1000  # 記錄執行時間超過1秒的查詢

分析方法

  1. 查看日志文件(通常位于pg_log/目錄):
    grep 'duration' /var/lib/postgresql/data/pg_log/postgresql-*.log
    
  2. 使用EXPLAIN ANALYZE
    EXPLAIN ANALYZE 
    SELECT * FROM orders WHERE customer_id = 123;
    
  3. 關注指標
    • cost:優化器估算的執行成本。
    • actual time:實際執行時間。
    • rows:處理的行數。

35. 解釋DISTINCT與DISTINCT ON的區別,舉例說明DISTINCT ON的用法。

區別

  • DISTINCT:對結果集的所有列去重。
  • DISTINCT ON:對指定列去重,保留每行的首條記錄。

示例(保留每個部門工資最高的員工):

SELECT DISTINCT ON (dept_id) dept_id, name, salary
FROM employees
ORDER BY dept_id, salary DESC;  -- 按工資降序,確保最高工資優先

結果

dept_idnamesalary
1Alice8000
2Bob7500

36. PostgreSQL有哪些索引類型?GiST、GIN索引的適用場景是什么?

索引類型

  • B-Tree(默認,支持=<>等)
  • Hash(僅支持=
  • GiST(通用搜索樹)
  • GIN(倒排索引)
  • BRIN(塊范圍索引)
  • SP-GiST(空間分區GiST)

GiST適用場景

  • 空間數據(如PostGIS的幾何類型)。
  • 全文搜索(如tsvector類型)。
  • 范圍查詢(如int4range)。

GIN適用場景

  • 多值類型(如數組、JSONB)。
  • 全文搜索(支持多個關鍵詞查詢)。

示例

-- GiST索引(用于幾何類型)
CREATE INDEX idx_geom ON places USING GIST (location);-- GIN索引(用于JSONB)
CREATE INDEX idx_data ON events USING GIN (data jsonb_path_ops);

37. 什么是部分索引(Partial Index)?如何通過部分索引優化查詢性能?

部分索引
僅對表中符合條件的行創建索引,減少索引大小,提高查詢效率。

示例(僅索引活躍用戶):

CREATE INDEX idx_active_users ON users (email) 
WHERE status = 'active';

優化場景

  • 過濾頻繁的數據:如WHERE deleted = false(軟刪除場景)。
  • 覆蓋索引:包含查詢所需的所有列,避免回表。
CREATE INDEX idx_cover ON orders (customer_id) 
INCLUDE (order_date, total)  -- PostgreSQL 11+支持INCLUDE
WHERE status = 'paid';

38. 解釋索引選擇性(Selectivity)的概念,如何判斷索引是否有效?

索引選擇性
索引列中不同值的比例,計算公式:

選擇性 = 唯一值數量 / 總行數  

選擇性越高(接近1),索引效率越好。

判斷索引有效性

  1. 查詢執行計劃

    EXPLAIN SELECT * FROM users WHERE email = 'test@example.com';
    
    • 若顯示Index ScanBitmap Index Scan,索引有效。
    • 若顯示Seq Scan,可能索引未生效。
  2. 統計信息

    SELECT relname, reltuples, relpages 
    FROM pg_class 
    WHERE relname = 'users';
    
    • 行數(reltuples)與頁數量(relpages)比值低時,順序掃描可能更快。

39. 為什么有時索引會失效?列舉導致索引失效的常見情況。

索引失效原因

  1. 表達式或函數操作
    WHERE UPPER(name) = 'JOHN';  -- 函數導致索引失效
    
  2. 隱式類型轉換
    WHERE id = '123';  -- 若id為INT,字符串比較會觸發全表掃描
    
  3. 低選擇性數據
    WHERE is_active = true;  -- 若90%的行都是true,索引可能不被使用
    
  4. 統計信息過時
    ANALYZE users;  -- 更新統計信息
    
  5. 錯誤的查詢條件
    WHERE name LIKE '%john';  -- 以通配符開頭的LIKE無法使用索引
    

40. 如何查看查詢的執行計劃?如何通過執行計劃判斷是否使用了索引?

查看執行計劃

EXPLAIN ANALYZE 
SELECT * FROM orders 
WHERE customer_id = 123 AND order_date > '2023-01-01';

關鍵判斷指標

  1. 操作類型

    • Index Scan:使用索引掃描。
    • Bitmap Index Scan:使用位圖索引。
    • Seq Scan:全表掃描(未使用索引)。
  2. 索引名稱

    ->  Index Scan using idx_customer_id on orders  -- 明確使用了idx_customer_id索引
    
  3. 成本與行數

    • cost=0.42..8.44:估算成本。
    • rows=1:估算返回行數,與實際行數(actual rows)對比。

優化建議

  • 若高選擇性查詢仍使用全表掃描,檢查統計信息(ANALYZE)。
  • 若索引掃描行數過多,考慮調整查詢條件或創建覆蓋索引。

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

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

相關文章

數據建模及基本數據分析

目錄 &#xff08;一&#xff09;數據建模 1.以數據預測為核心的建模 2.以數據聚類為核心的建模 &#xff08;二&#xff09;基本數據分析 1.Numpy 2. Pandas 3.實例 4.Matplotlib 資料自取&#xff1a; 鏈接: https://pan.baidu.com/s/1PROmz-2hR3VCTd6Eei6lFQ?pwdy8…

電動汽車DCDC轉換器的用途及工作原理

在電動汽車的電氣架構中&#xff0c;DCDC轉換器&#xff08;直流-直流轉換器&#xff09;是一個至關重要的部件&#xff0c;負責協調高壓動力電池&#xff08;通常300V~800V&#xff09;與低壓電氣系統&#xff08;12V/24V&#xff09;之間的能量流動。它的性能直接影響整車的能…

PyTorch 應用于3D 點云數據處理匯總和點云配準示例演示

PyTorch 已廣泛應用于 3D 點云數據處理&#xff0c;特別是在深度學習驅動的任務中如&#xff1a; 分類、分割、配準、重建、姿態估計、SLAM、目標檢測 等。 傳統 3D 點云處理以 PCL、Open3D 為主&#xff0c;深度學習方法中&#xff0c;PyTorch 是構建神經網絡處理點云的核心框…

ABP VNext + Quartz.NET vs Hangfire:靈活調度與任務管理

ABP VNext Quartz.NET vs Hangfire&#xff1a;靈活調度與任務管理 &#x1f680; &#x1f4da; 目錄ABP VNext Quartz.NET vs Hangfire&#xff1a;靈活調度與任務管理 &#x1f680;? TL;DR&#x1f6e0; 環境與依賴&#x1f527; Quartz.NET 在 ABP 中接入1. 安裝與模塊…

[硬件電路-148]:數字電路 - 什么是CMOS電平、TTL電平?還有哪些其他電平標準?發展歷史?

1. CMOS電平定義&#xff1a; CMOS&#xff08;Complementary Metal-Oxide-Semiconductor&#xff09;電平基于互補金屬氧化物半導體工藝&#xff0c;由PMOS和NMOS晶體管組成。其核心特點是低功耗、高抗干擾性和寬電源電壓范圍&#xff08;通常為3V~18V&#xff09;。關鍵參數&…

0基礎網站開發技術教學(二) --(前端篇 2)--

書接上回說到的前端3種主語言以及其用法&#xff0c;這期我們再來探討一下javascript的一些編碼技術。 一) 自定義函數 假如你要使用一個功能&#xff0c;正常來說直接敲出來便可。可如果這個功能你要用不止一次呢?難道你每次都敲出來嗎?這個時侯&#xff0c;就要用到我們的自…

前端 拼多多4399筆試題目

拼多多 3 選擇題 opacity|visibity|display區別 在CSS中&#xff0c;opacity: 0 和 visibility: hidden 都可以讓元素不可見&#xff0c;但它們的行為不同&#xff1a; ? opacity: 0&#xff08;透明度為0&#xff09; 元素仍然占據空間&#xff08;不移除文檔流&#xff0…

數琨創享:全球汽車高端制造企業 QMS質量管理平臺案例

01.行業領軍者的質量升級使命在全球汽車產業鏈加速升級的浪潮中&#xff0c;質量管控能力已成為企業核心競爭力的關鍵。作為工信部認證的制造業單項冠軍示范企業&#xff0c;萬向集團始終以“全球制造、全球市場、做行業領跑者”為戰略愿景。面對奔馳、寶馬、大眾等“9N”高端客…

GaussDB 約束的使用舉例

1 not null 約束not null 約束強制列不接受 null 值。not null 約束強制字段始終包含值。這意味著&#xff0c;如果不向字段添加值&#xff0c;就無法插入新記錄或者更新記錄。GaussDB使用pg_get_tabledef()函數獲取customers表結構&#xff0c;如&#xff1a;csdn> set sea…

自動駕駛中的傳感器技術13——Camera(4)

1、自駕Camera開發的方案是否歸一化對于OEM&#xff0c;或者自駕方案商如Mobileye如果進行Camera的開發&#xff0c;一般建議采用Tesla的系統化最優方案&#xff0c;所有Camera統一某個或者某兩個MP設計&#xff08;增加CIS議價權&#xff0c;減少Camera PCBA的設計維護數量&am…

開源利器:glTF Compressor——高效優化3D模型的終極工具

在3D圖形開發領域,glTF(GL Transmission Format)已成為Web和移動端3D內容的通用標準。然而,3D模型的文件體積和紋理質量往往面臨權衡難題。Shopify最新開源的glTF Compressor工具,為開發者提供了一套精細化、自動化的解決方案,讓3D模型優化既高效又精準。本文將深入解析這…

LeetCode Hot 100,快速學習,不斷更

工作做多了有時候需要回歸本心&#xff0c;認真刷題記憶一下算法。那就用我這練習時長兩年半的代碼農民工來嘗試著快速解析LeetCode 100吧 快速解析 哈希 1. 兩數之和 - 力扣&#xff08;LeetCode&#xff09; 這題很簡單啊&#xff0c;思路也很多 1. 暴力搜索&#xff0c;…

MySQL的子查詢:

目錄 子查詢的相關概念&#xff1a; 子查詢的分類&#xff1a; 角度1&#xff1a; 單行子查詢&#xff1a; 單行比較操作符&#xff1a; 子查詢的空值情況&#xff1a; 多行子查詢&#xff1a; 多行比較操作符&#xff1a; ANY和ALL的區別&#xff1a; 子查詢為空值的…

Python批處理深度解析:構建高效大規模數據處理系統

引言&#xff1a;批處理的現代價值在大數據時代&#xff0c;批處理&#xff08;Batch Processing&#xff09; 作為數據處理的核心范式&#xff0c;正經歷著復興。盡管實時流處理備受關注&#xff0c;但批處理在數據倉庫構建、歷史數據分析、報表生成等場景中仍不可替代。Pytho…

是德科技的BenchVue和納米軟件的ATECLOUD有哪些區別?

是德科技的BenchVue和納米軟件的ATECLOUD雖然都是針對儀器儀表測試的軟件&#xff0c;但是在功能設計、測試場景、技術架構等方面有著明顯的差異。BenchVue&#xff08;是德科技&#xff09;由全球領先的測試測量設備供應商開發&#xff0c;專注于高端儀器控制與數據分析&#…

線上redis的使用

一.String1.緩存玩家單個數據&#xff0c;但是我覺得還是用hash好2.結合過期時間&#xff0c;比如:某個東西結算了&#xff0c;redis記錄一下&#xff0c;并設置過期時間3.分布式鎖二.Hash1.緩存一個單位的數據&#xff0c;比如&#xff1a;聯盟信息2.被封禁的列表&#xff0c;…

【實踐記錄】github倉庫的更新

首先登錄&#xff0c;參考&#xff1a;記一次github連接本地git_如何連接github-CSDN博客 SSH&#xff1a; git config --global user.name "GitHubUsername" git config --global user.email "emailexample.com" ssh-keygen -t ed25519 -C "emailex…

Nature圖形復現—Graphpad繪制帶P值的含數據點的小提琴圖

帶 P 值的含數據點的小提琴圖是一種科研數據可視化圖表&#xff0c;它同時呈現數據的分布特征、原始觀測值和統計顯著性&#xff1a;通過小提琴形狀展示概率密度分布&#xff08;反映數據集中趨勢和離散程度&#xff09;&#xff0c;疊加抖動散點顯示所有原始數據點&#xff08…

mongodb源代碼分析createCollection命令由create.idl變成create_gen.cpp過程

mongodb命令db.createCollection(name, options)創建一個新集合。由于 MongoDB 在命令中首次引用集合時會隱式創建集合&#xff0c;因此此方法主要用于創建使用特定選項的新集合。例如&#xff0c;您使用db.createCollection()創建&#xff1a;固定大小集合&#xff1b;集群化集…

達夢(DM8)常用管理SQL命令(3)

達夢(DM8)常用管理SQL命令(3) 1.表空間 -- 查看表空間信息 SQL> SELECT * FROM v$tablespace;-- 查看數據文件 SQL> SELECT * FROM v$datafile;-- 表空間使用情況 SQL> SELECT df.tablespace_name "表空間名稱",df.bytes/1024/1024 "總大小(MB)&q…