91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL5.6開始可以使用獨立表空間, innodb_file_per_table=1

發布時間:2020-08-07 20:48:48 來源:ITPUB博客 閱讀:171 作者:shytodear 欄目:MySQL數據庫
MySQL5.6開始可以使用獨立表空間:
MySQL5.6 
innodb_file_per_table=1 #使用獨立表空間,動態參數。(5.6默認OFF,5.7默認ON)


1、drop/truncate table方式操作表空間能自動回收(磁盤空間)

1)、創建procedure,循環insert一定量數據
##use test
##drop procedure pro1;

DELIMITER //
create procedure pro1()
begin
declare i int;
set i=1;
while i<100000 do
    insert into test.cc(id,name) values(i, "aa");
    set i=i+1;
end while;
end;//

2)、調用procedure :
mysql> call pro1();


3)、查看表大小、數據量:
select table_name, (data_length+index_length)/1024/1024 as total_mb, table_rows
   from information_schema.tables where table_schema='test' and table_name='CC';

+------------+------------+------------+
| table_name | total_mb   | table_rows |
+------------+------------+------------+
| cc         | 3.51562500 |     100246 |
+------------+------------+------------+
1 row in set (0.31 sec)

4)、truncate清表:
mysql> truncate table test.cc;
Query OK, 0 rows affected (0.73 sec)

5)、再次查看表空間已經回收:

cc.ibd 由  11264KB 回收到96KB 。

mysql> select table_name, (data_length+index_length)/1024/1024 as total_mb, table_rows
    -> from information_schema.tables where table_schema='test' and table_name='CC';
+------------+------------+------------+
| table_name | total_mb   | table_rows |
+------------+------------+------------+
| cc         | 0.01562500 |          0 |
+------------+------------+------------+
1 row in set (0.00 sec)

mysql>

mysql> select version();
+------------+
| version()  |
+------------+
| 5.7.11-log |
+------------+
1 row in set (0.08 sec)

mysql>

注:drop table test.cc ; 物理文件cc.ibd也會同時被刪除。


2、獨立表空間下,可以自定義表的存儲位置,(有時將部分熱表放在不同的磁盤可有效地提升IO性能)
create table test(id int) data directory='c:/software';
create table test1(id int,name varchar(20),primary key (id)) data directory='c:/software';

3、獨立表空間下,可以回收表空間碎片(比如一個非常大的delete操作之后釋放的空間)

1)創建測試表
DELIMITER //
create procedure pro_test1()
begin
declare i int;
set i=1;
while i<10000 do
    insert into test.test1(id,name) values(i, "aa");
    set i=i+1;
end while;
end;//

##call pro_test1();


表大小:test1.ibd   368KB

2)delete后表大小:
mysql> delete from test1;
test1.ibd   384KB

3)回收表空間
mysql> alter table test1 engine=innodb; 
test1.ibd   96KB

mysql> select table_name, (data_length+index_length)/1024/1024 as total_mb, table_rows
   from information_schema.tables where table_schema='test' and table_name='TEST1';

+------------+------------+------------+
| table_name | total_mb   | table_rows |
+------------+------------+------------+
| test1      | 0.01562500 |          0 |
+------------+------------+------------+
1 row in set (0.00 sec)


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昭通市| 商南县| 呼伦贝尔市| 资讯| 华阴市| 文安县| 曲水县| 阜阳市| 乌兰浩特市| 华亭县| 宁化县| 张家界市| 罗定市| 刚察县| 永兴县| 宣恩县| 井陉县| 岑溪市| 新源县| 江门市| 天峻县| 多伦县| 马鞍山市| 襄樊市| 靖边县| 彰化市| 元氏县| 盐山县| 特克斯县| 柘荣县| 栖霞市| 滨州市| 巫山县| 揭西县| 双柏县| 玛纳斯县| 淳化县| 赫章县| 西林县| 宝丰县| 威宁|