mysql必知必会04
数据库维护
备份数据
mysqldump转储外部文件
mysqlhotcopy从一个数据库复制所有数据(并非所有数据库引擎都支持)
backup table或select into outfile转储外部文件----用restore table还原
首先刷新未写数据:flush tables
进行数据库维护(后跟表名)
analyze table:用来检查表键是否正确
check table:用来针对许多问题对表进行检查
changed:检查自最后一次检查以来改动过的表
extend:执行最彻底的检查
fast:只检查未正常关闭的表
medium:检查所有被删除的链接并进行键检验
quick:进行快速扫描
# MyISAM表访问产生不正确或不一致的结果需用repair table来修复相应的表(危险,不能常用)
# 如果从一个表中删除大量数据,应该用optimize table来回收所用的空间
诊断启动的问题
--help显示帮助
--safe-mode装载减去某些最佳配置的服务器
--verbose显示全文本消息
--version显示版本信息然后退出
查看日志文件
错误日志:data目录中hostname.err--可用--log-error命令进行选项更改
查询日志:data目录中hostname.log--可用--log命令进行选项修改
二进制日志:data目录中hostname-bin--可用--log-bin命令进行选项更改
缓慢查询日志:data目录中hostname-slow.log--可用--log-slow-queries命令进行选项更改
改善性能
show processlist显示所有活动进程
kill命令终结某个特定的进程
explain语句解释mysql如何执行一条select语句
存储过程比一条一条执行各条sql语句快
导入数据时关闭自动提交
使用索引
select有一系列or条件的话用union
索引改善搜索的性能,损害数据插入删除和更新的性能
like很慢
附录
语法:
alter table 更新已经存在的表的结构
commit 提交事务
create index 创建索引
create procedule 创建存储过程
create table 创建表
create user 创建用户账户
create view 创建视图
delete 删除一行或多行数据
drop 永久的删除数据库对象
database|index|procedule|table|trigger|user|view
insert 插入
insert select 插入select的结果到一个表
rollback 撤销事务处理块
savepoint 保留点
select 检索数据
start transaction 开始事务
update 更新数据
数据类型:
串数据类型--定长串和变长串
char/enum/longtext/mediumtext/set/text/tinytext/varchar
数值数据类型--有符号和无符号
bit/bigint/boolean/double/decimal/float/int/mediumint/real/smallint/tinyint
日期和时间数据类型
date/datetime/timestramp/time/year
二进制数据类型
blob/mediumblob/longblob/tinyblob