mysql中查看表結構的指令?在mysql中,也出現了類似oracle中的表空間概念,今天小編就來說說關于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每日頭條,我们将持续为您更新最新资讯!