1、进行数据库的维护
1):analyze table user;
检查表键是否正确;
2):check table user [changed | extended | fast | quick | ]
check table支持一系列的用于MyISAM表的方式。
changed检查自最后一次以来改动的表。
extended执行最彻底的检查。
fast只检查未正常关闭的表
medium检查所有被删除的链接并进行键校验。
quick只进行快速扫描。
语句实例:
check table user ;
或者 check table user quick;
3):如果从一个表中删除大量数据,应该使用optimize table来回收所用的空间,从而优化表的性能。
2、mysql命令行参数
--help 显示帮助
--safa-mode装载减去某些最佳配置的服务器
--verbose显示全文本信息
--version显示版本信息然后退出
3、查看日志文件(linux操作)
首先用:whereis mysql 来查看本机mysql装在哪里
mysql日志文件一般在/var/log/mysql/下面。
查看日志文件可以定位错误,以及查询相关的查询日志
4、部分改善性能的方法
1):一般来说,关键的生产DBMS应该运行再自己的专用服务器上。
2):mysql是用一些列的默认设置预先配置的,一般一开始用是不会有问题的,但是用过一段时间后
你可能需要调整内存分配、缓冲区大小等。
可使用show variables和show status来查看。
3):mysql是一个多用户多线程的DBMS,也就是可以同时多个用户登录使用,如果这些任务中的某一个执行缓慢,
则所有的请求都会执行缓慢。此时,可以通过show processlist显示所有活动进程。还可以用kill命令终结某个。
4):总是有不止一种方法编写同一条select语句,应该试验联结、并、子查询等,找出最佳方法。
5):使用explain语句能让mysql解释它如何执行一条select语句。
explain select iid from user;
6):一般来说,存储过程执行的比一条条执行各条mysql语句快。
7):应该总是使用正确的数据类型。
8):绝不要检索比需求还多的数据,换言之,不要用select *,除非真正包括。
9):在导入数据时,应该关闭自动提交,你可能还想删除索引(包括fulltext索引),然后在导入完成后再重建他们。
10):必须索引数据库表以改善数据库检索的性能。确定索引什么并不是很简单的,需要分析select语句找出重复的
where和order by子句,如果一个简单的where子句返回结果所花的时间太长,则可以断定其中使用的列(或
几个列)就是需要索引的对象。
11):你的select语句中有一系列的or条件么?可以通过多条select语句和联结他们的union语句来改善,将得到极大的
性能改善。
12):索引能够改善检索数据的性能,但是会损害插入、删除、更新的性能。如果一些表不经常被搜索,则没有必要索引。
13):like很慢,一般最好使用fulltext而不是like。
14):最重要的规则就是,每条规则在某些条件下都会被打破哈哈哈哈