if (select object_ID('tempdb..#BaseInfoFK')) 0 drop table #BaseInfoFK

十余年的下陸網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網整合營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整下陸建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。成都創新互聯公司從事“下陸網站設計”,“下陸網站推廣”以來,每個客戶項目都認真落實執行。
select a.* into #BaseInfoFK from (select * from table)a#BaseInfoFK是臨時表的名一定要加#
一、系統表空間
在 MySQL 數據目錄下有一個名為 ibdata1 的文件,可以保存一張或者多張表。
923275 12M -rw-r----- 1 mysql mysql 12M 3月 18 10:42 ibdata1
這個文件就是 MySQL 的系統表空間文件,默認為 1 個,可以有多個,只需要在配置文件 my.cnf 里面這樣定義即可。
innodb_data_file_path=ibdata1:200M;ibdata2:200M:autoextend:max:800M系統表空間不僅可以是文件系統組成的文件,也可以是非文件系統組成的磁盤塊,比如裸設備,定義也很簡單innodb_data_file_path=/dev/nvme0n1p1:3Gnewraw;/dev/nvme0n1p2:2Gnewraw
系統表空間里都有些啥內容?
具體內容包括:double writer buffer、 change buffer、數據字典(MySQL 8.0 之前)、表數據、表索引。
那 MySQL 為什么現在主流版本默認都不是系統表空間?
究其原因,系統表空間有三個最大的缺點:原因 1:無法做到自動收縮磁盤空間,造成很大的空間浪費。即使它包含的表都被刪掉,這部分空間也不會自動釋放。
二、單表空間
單表空間不同于系統表空間,每個表空間和表是一一對應的關系,每張表都有自己的表空間。具體在磁盤上表現為后綴為 .ibd 的文件。比如表 t1,對應的表空間文件為 t1.ibd917107 96K -rw-r----- 1 mysql mysql 96K 3月 18 16:13 t1.ibd
單表空間如何應用到具體的表呢?
有兩種方式:方式 1:在配置文件中開啟。在配置文件中開啟單表空間設置參數 innodb_filer_per_table,這樣默認對當前庫下所有表開啟單表空間。innodb_file_per_table=1另外也可以直接建表時指定單表空間mysql create table t1 (id int, r1 char(36)) tablespace innodb_file_per_table;
Query OK, 0 rows affected (0.04 sec)
單表空間除了解決之前說的系統表空間的幾個缺點外,還有其他的優點,詳細如下:
1. truncate table 操作比其他的任何表空間都快;
2. 可以把不同的表按照使用場景指定在不同的磁盤目錄;
比如日志表放在慢點的磁盤,把需要經常隨機讀的表放在 SSD 上等。
mysql create table ytt_dedicated (id int) data directory = '/var/lib/mysql-files';
Query OK, 0 rows affected (0.04 sec)3. 可以用 optimize table 來收縮或者重建經常增刪改查的表。一般過程是這樣的:建立和原來表一樣的表結構和數據文件,把真實數據復制到臨時文件,再刪掉原始表定義和數據文件,最后把臨時文件的名字改為和原始表一樣的。
三、通用表空間
通用表空間先是出現在 MySQL Cluster 里,也就是 NDB 引擎。從 MySQL 5.7 引入到 InnoDB 引擎。通用表空間和系統表空間一樣,也是共享表空間。每個表空間可以包含一張或者多張表,也就是說通用表空間和表之間是一對多的關系。
1. 查看數據庫的索引空間大小
在MySQL Workbench中運行以下SQL語句:
— 以GB為單位
SELECT
CONCAT(ROUND(SUM(index_length)/(1024*1024*1024), 6), ‘ GB’) AS ‘Total Index Size’
FROM
information_schema.TABLES
WHERE
table_schema LIKE ‘database’;
— 以MB為單位
SELECT
CONCAT(ROUND(SUM(index_length)/(1024*1024), 6), ‘ MB’) AS ‘Total Index Size’
FROM
information_schema.TABLES
WHERE
table_schema LIKE ‘database’;
其中,database是待查看數據庫的名稱,例如:lsqdb%。運行結果如下圖所示:
2. 查看數據庫的數據空間大小
在MySQL Workbench中運行以下SQL語句:
— 以GB為單位
SELECT
CONCAT(ROUND(SUM(data_length)/(1024*1024*1024), 6), ‘ GB’) AS ‘Total Data Size’
FROM
information_schema.TABLES
WHERE
table_schema LIKE ‘database’;
— 以MB為單位
SELECT
CONCAT(ROUND(SUM(data_length)/(1024*1024), 6), ‘ MB’) AS ‘Total Data Size’
FROM
information_schema.TABLES
WHERE
table_schema LIKE ‘database’;
其中,database是待查看數據庫的名稱,例如:lsqdb%。運行結果如下圖所示:
3. 查看數據庫中所有表的信息
在MySQL Workbench中運行以下SQL語句,查看數據庫中所有表的表名、表行數、數據空間大小、索引空間大小和總大小:
SELECT
CONCAT(table_schema,’.’,table_name) AS ‘Table Name’,
table_rows AS ‘Number of Rows’,
CONCAT(ROUND(data_length/(1024*1024),6),’ MB’) AS ‘Data Size’,
CONCAT(ROUND(index_length/(1024*1024),6),’ MB’) AS ‘Index Size’,
CONCAT(ROUND((data_length+index_length)/(1024*1024),6),’ MB’) AS’Total Size’
FROM
information_schema.TABLES
WHERE
table_schema LIKE ‘database’;
其中,database是待查看數據庫的名稱,例如:lsqdb%。
linux系統進入mysql數據庫的方法:
連接MYSQL:
格式: mysql -h主機地址 -u用戶名 -p用戶密碼
1、連接到本機上的MYSQL。
首先在打開DOS窗口,然后進入目錄 mysqlbin,再鍵入命令mysql -uroot -p,回車后提示你輸密碼,如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是:mysql
2、連接到遠程主機上的MYSQL。假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123(注:u與root可以不用加空格,其它也一樣)
3、退出MYSQL命令: exit (回車)
一個建庫和建表以及插入數據的實例:
create database school; //建立庫SCHOOL
use school; //打開庫SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key, //id設置為主關鍵字,并自動設值,也就是添加的時候,你不必向ID字段寫內容
name char(10) not null,
address varchar(50) default '深圳', //設置默值為深圳
year date
); //建表結束
//以下為插入字段
insert into teacher values('','glchengang','建平一中','1976-10-10'); //ID不用寫內容
insert into teacher values('','jack','建平一中','1975-12-23');
網站名稱:怎么看mysql表空間 mysql的表空間怎么看
網頁鏈接:http://www.yijiale78.com/article44/docjsee.html
成都網站建設公司_創新互聯,為您提供商城網站、網頁設計公司、電子商務、App設計、虛擬主機、移動網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯