SQL簡單實用的優化方法

分析表:MyISAM、InnoDB、BDBmysql

mysql> analyze table payment; #MyISAM 使用myisamchk -asql

+----------------+---------+----------+----------+ide

| Table          | Op      | Msg_type | Msg_text |優化

+----------------+---------+----------+----------+server

| sakila.payment | analyze | status   | OK       |it

+----------------+---------+----------+----------+innodb

1 row in set (0.10 sec)table


mysql> class

mysql> check table payment_myisam ; #MyISAM、InnoDB #也能夠檢查視圖file

+-----------------------+-------+----------+----------+

| Table                 | Op    | Msg_type | Msg_text |

+-----------------------+-------+----------+----------+

| sakila.payment_myisam | check | status   | OK       |

+-----------------------+-------+----------+----------+

1 row in set (0.00 sec)


mysql> 

優化表:MyISAM、InnoDB、BDB

mysql> optimize table  payment_myisam ;

+-----------------------+----------+----------+----------+

| Table                 | Op       | Msg_type | Msg_text |

+-----------------------+----------+----------+----------+

| sakila.payment_myisam | optimize | status   | OK       |

+-----------------------+----------+----------+----------+

1 row in set (0.01 sec)


mysql> 

使用獨立表空間:

mysql> show variables like "innodb_file_per_table";

+-----------------------+-------+

| Variable_name         | Value |

+-----------------------+-------+

| innodb_file_per_table | ON    |

+-----------------------+-------+

1 row in set (0.00 sec)


mysql> set GLOBAL innodb_file_per_table = on;      

Query OK, 0 rows affected (0.00 sec)


mysql>


刪除大量數據後InnoDB表能夠經過alter table:

mysql> alter table payment engine=innodb;

Query OK, 0 rows affected (4.63 sec)

Records: 0  Duplicates: 0  Warnings: 0


mysql> 


關於字符集的設置:

character_set_server=utf8mb4

default_character-set=utf8mb4

相關文章
相關標籤/搜索