首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

MySQL information_schema.views 顯示大量未知視圖的來源:臨時表與系統生成視圖

     編輯:程式設計疑難解答

現象

SELECT * FROM information_schema.views 返回 100+ 行,但用戶僅創建 3 個視圖。

來源分析

  • 衍生表/子查詢物化:複雜查詢優化器可能創建臨時視圖 (DERIVED) 存儲中間結果。
  • 存儲過程/觸發器:執行過程中生成的內部視圖。
  • 系統視圖:INFORMATION_SCHEMA 自身包含大量元數據視圖(TABLES, COLUMNS 等),若查詢未過濾 TABLE_SCHEMA 會混雜顯示。

過濾用戶視圖

SELECT TABLE_NAME FROM information_schema.views
WHERE TABLE_SCHEMA = 'your_db' AND TABLE_NAME NOT LIKE 'tmp_%';

建議

定期清理不再使用的視圖,避免元數據膨脹影響性能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved