数据库维护以及一些改善性能方法
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):最重要的规则就是,每条规则在某些条件下都会被打破哈哈哈哈
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):最重要的规则就是,每条规则在某些条件下都会被打破哈哈哈哈
相关文章推荐
- 1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你。 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的原则已经被许多现有的JDBC应用程序编译运行并验证过。 这些指导原则包括: 正确的使用数据库MetaData方法 只获取需要的数据 选用最佳性能的功能 管理连
- SQList数据库分页降序查询以及一些其他方法
- MySQL必知必会笔记(七)安全管理 数据库维护 改善性能
- 改善J2EE程序性能的一些方法
- 大规模数据库的性能改善方法之一 数据分割
- 在数据库中查找“第二”的各种方法以及性能比较
- MySQL必知必会笔记(八)安全管理 数据库维护 改善性能
- 改善J2EE程序性能的一些方法
- 关于对象数据库 DB4O 的一些BUG以及如何应对的方法
- 数据库性能优化方法以及工具
- 影响数据库性能的因素以及解决方法
- MySQL必知必会笔记(七)安全管理 数据库维护 改善性能
- MySQL必知必会笔记(八)安全管理 数据库维护 改善性能
- 【MySQL】安全管理 数据库维护 改善性能
- 网站架构的一般演化过程以及一些网站性能优化的方法
- JavaScript改善代码性能的一些方法
- 关于File类的几个方法以及一些文件的操作
- 关于测试方法以及测试用例设计的一些总结
- DedeCms模板 如何防被盗以及安全设置的一些方法
- Android系统下2D绘图性能提升的一些方法