您的位置:首页 > 数据库

数据库维护以及一些改善性能方法

2017-08-07 21:55 218 查看
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):最重要的规则就是,每条规则在某些条件下都会被打破哈哈哈哈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐