###>
mysql中有一个explain 命令可以用来分析select 语句的运行效果,例如explain可以获得select语句
使用的索引情况、排序的情况等等。除此以外,explain 的extended 扩展能够在原本explain的基础
上额外的提供一些查询优化的信息,这些信息可以通过mysql的show warnings命令得到。下面是一个最简单的例子。
首先执行对想要分析的语句进行explain,并带上extended选项
mysql> explain extended select * from account\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: account
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 1
filtered: 100.00
Extra:
1 row in set, 1 warning (0.00 sec)
接下来再执行Show Warnings
mysql> show warnings\G;
*************************** 1. row ***************************
Level: Note
Code: 1003
Message: select `dbunit`.`account`.`id` AS `id`,`dbunit`.`account`.`name` AS `name` from `dbunit`.`account`
1 row in set (0.00 sec)
从 show warnings的输出结果中我们可以看到原本的select * 被mysql优化成了
select `dbunit`.`account`.`id` AS `id`,`dbunit`.`account`.`name` AS `name`。
explain extended 除了能够告诉我们mysql的查询优化能做什么,同时也能告诉我们mysql的
查询优化做不了什么。
###>
ALTER TABEL sakilay.film
ALTER COLUMN rental_duration SET DEFAULT 5; #这种方法修改表很快的
ALTER TABLE sakila.film
MODIFY COLUMN rental_duration TINYINT(3) NOT NULL DEFAULT 5; # 这种方法修改表很慢的
还有一种用法:CHANGE COLUMN ;注意区分与ALTER COLUMN 、MODIFY COLUMN的差别