Mysql

根據來自另一個表 MariaDb 的查詢創建新的 sql 表

  • October 6, 2021

只是作為序言,當談到 dbs 時,我是一個菜鳥。

正如標題所述,我想根據對現有表進行的查詢創建一個新表。起初我認為視圖是一個好主意,因為我不是創建新數據而是刪除冗餘行。問題是查詢需要大約 5 分鐘才能完成,而且這太慢了,所以我想,與其創建視圖,不如使用查詢來創建一個每天填充一次的新表。

明智的做法是製作一個每天執行查詢的計劃事件並以這種方式生成表嗎?

我正在使用帶有 HeidiSQL 的 Mariadb 作為 IDE

預先感謝您的所有幫助

  • VIEWs是語法糖,而不是加速任何事情的方法。
  • 這將從選擇中創建一個新表:
 CREATE TABLE foo
     SELECT ....;
  • 這將創建一個TEMPORARY表,當您斷開連接時該表將消失:
 CREATE TEMPORARY TABLE foo
     SELECT ....;
  • 要每天重建表,這將重新填充它:
 TRUNCATE TABLE foo;
 INSERT INTO foo
     SELECT ....;
  • Truncate 技術將表格留空 5 分鐘。如果這不可接受,則有一種解決方法。
  • 如果源表是“數據倉庫”,那麼建構和維護“匯總表”將大大縮短“5 分鐘”時間。

您想進一步討論哪些?

引用自:https://dba.stackexchange.com/questions/300690