1. 程式人生 > 實用技巧 >Bean建立和銷燬順序

Bean建立和銷燬順序

1.MySQL提供的儲存引擎

1)MySQL 提供以下儲存引擎:

1.InnoDB
    資料經常新增、刪除、修改、查詢,使用該引擎
2.MyISAM
    只對資料進行查詢和新增
3.MEMORY
    支援hash索引
4.ARCHIVE
5.FEDERATED
6.EXAMPLE
7.BLACKHOLE
8.MERGE
9.NDBCLUSTER
10.CSV

2)第三方儲存引擎:

1.MySQL當中外掛式的儲存引擎型別
2.MySQL的兩個分支
    1)perconaDB
    2)mariaDB

3)檢視儲存引擎

#檢視當前MySQL支援的儲存引擎型別
mysql> show engines

#檢視innodb的表有哪些
mysql
> select table_schema,table_name,engine from information_schema.tables where engine='innodb'; #檢視myisam的表有哪些 mysql> select table_schema,table_name,engine from information_schema.tables where engine='myisam'; #檢視某個表的資訊 mysql> select * from tables where TABLE_NAME='city'\G *************************** 1
. row *************************** TABLE_CATALOG: def #表的註冊資訊 TABLE_SCHEMA: world #表所在的庫 TABLE_NAME: city #表名字 TABLE_TYPE: BASE TABLE #表的型別 ENGINE: InnoDB #儲存引擎 VERSION: 10 #預設版本 ROW_FORMAT: Compact #行模式 TABLE_ROWS:
4188 #查詢資料的量 AVG_ROW_LENGTH: 97 #行資料的平均長度 DATA_LENGTH: 409600 #資料長度 MAX_DATA_LENGTH: 0 #最大資料長度 INDEX_LENGTH: 131072 #索引的資料長度 DATA_FREE: 0 #空間碎片 AUTO_INCREMENT: 4080 #自增屬性的值到了多少 CREATE_TIME: 2020-10-28 18:27:42 #建立時間 UPDATE_TIME: NULL #修改時間 CHECK_TIME: NULL #檢查時間 TABLE_COLLATION: latin1_swedish_ci #表的字符集 CHECKSUM: NULL #檢查次數 CREATE_OPTIONS: #建表的引數 TABLE_COMMENT: #表的註釋 1 row in set (0.00 sec)

2.innodb和myisam的物理區別

#myisam儲存引擎的檔案
-rw-rw---- 1 mysql mysql  10684 10月 19 17:09 user.frm            #表結構    
-rw-rw---- 1 mysql mysql    728 10月 23 20:02 user.MYD            #資料庫的使用者密碼
-rw-rw---- 1 mysql mysql   2048 10月 27 08:51 user.MYI            #資料庫的使用者

#innodb儲存引擎的檔案
-rw-rw---- 1 mysql mysql    8710 10月 28 19:53 city.frm            #表結構
-rw-rw---- 1 mysql mysql 2097152 10月 28 19:54 city.ibd            #表資料

#檢視檔案
strings user.MYI

3.innodb的核心特性

MVCC            #多版本併發控制
事務               #事務的特性
備份               #mysqldump   xtrabackup
故障自動恢復        #CSR

4.儲存引擎相關命令

1)檢視當前儲存引擎

#檢視當前所在庫的儲存引擎
mysql> SELECT @@default_storage_engine;
+--------------------------+
| @@default_storage_engine |
+--------------------------+
| InnoDB                   |
+--------------------------+
1 row in set (0.00 sec)

mysql> show variables like 'default_storage_engine';
+------------------------+--------+
| Variable_name          | Value  |
+------------------------+--------+
| default_storage_engine | InnoDB |
+------------------------+--------+
1 row in set (0.01 sec)

#檢視指定表的儲存引擎
mysql> select table_schema,table_name,engine from information_schema.tables where table_name='city';
+--------------+------------+--------+
| table_schema | table_name | engine |
+--------------+------------+--------+
| world        | city       | InnoDB |
+--------------+------------+--------+
1 row in set (0.00 sec)

2)修改預設的儲存引擎

#在配置檔案的[mysqld]標籤下新增,永久設定
[root@db01 ~]# vim /etc/my.cnf
[mysqld]
default-storage-engine=InnoDB

#在MySQL命令列中臨時設定
SET @@storage_engine=MyISAM

3)建表時指定儲存引擎

mysql> create table test4(id int) engine=myisam;
Query OK, 0 rows affected (0.01 sec)