tft每日頭條

 > 科技

 > mysql中查看表結構的指令

mysql中查看表結構的指令

科技 更新时间:2025-02-08 18:54:39

mysql中查看表結構的指令?在mysql中,也出現了類似oracle中的表空間概念,今天小編就來說說關于mysql中查看表結構的指令?下面更多詳細答案一起來看看吧!

mysql中查看表結構的指令(mysql表空間的概念)1

mysql中查看表結構的指令

mysql中,也出現了類似oracle中的表空間概念。

mysql表空間是什麼意思呢?

當我們使用Innodb數據庫引擎,開啟了Innodb的innodb_file_per_table這個參數之後(innodb_file_per_table = 1),也就是啟用InnoDB的獨立表空間模式。此時,在innodb數據庫下,新建表,就會在對應的數據庫目錄下會多出來一個.ibd這個文件。這個就是表對應的數據文件了。mysql會把這個innodb表的數據存放在這個文件中。并且每個innodb表此時都會對應這麼一個ibd文件。而不像以前,所有的表都放在一個數據文件中。

那麼這樣做有什麼好處呢?

可以實現單表在不同的數據庫之間移動。具體怎麼移動呢?假設有兩個數據庫,一個test,一個tt。

InnoDB 默認會将所有的數據庫InnoDB引擎的表數據存儲在一個共享空間中:ibdata1,這樣就感覺不爽,增删數據庫的時候,ibdata1文件不會自動收縮,單個數據庫的備份也将成為問題。通常隻能将數據使用mysqldump 導出,然後再導入解決這個問題。共享表空間在Insert操作上少有優勢。其它都沒獨立表空間表現好。當啟用獨立表空間時,請合理調整一 下innodb_open_files 的值。

-------------------------------------------------------------------------------

需要說明的是:

1、設置了獨立表空間之後,如果改成了共享表空間,那麼,此時如果執行表的插入操作,數據會存放在哪裡呢?

對于之前已經存在了的表,還是存放在獨立表空間。對于新建的表,就會存放在共享表空間了。

2、如果一開始用了獨立表空間,後來改了innodb_file_per_table變量的值,改成獨立表空間了,那麼數據如何存儲?

對于已經存在了的innodb引擎的表來說,數據還是存放在共享表空間的,而此時如果創建了新的表,那麼就會在數據庫的目錄中多出一個.ibd的文件用于存儲這個新表的數據。

總結上面的1、2,就是:原來的還是按照原來的方式存儲。新的表按照新的規則來存儲。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved