• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

MySQL数据库中对前端和后台进行系统优化

发布: 2008-4-24 09:59 | 作者: buan  | 来源: 希赛网 | 查看: 33次 | 进入软件测试论坛讨论

领测软件测试网 本文中介绍的系统优化,主要针对前端和后台这两方面(后台方面主要对SQL语句和数据存储进行了优化),下文中我们将介绍一些优化技巧和经验。

  技巧:

  1. 如何查出效率低的语句?

  在MySQL下,在启动参数中设置 --log-slow-queries=[文件名],就可以在指定的日志文件中记录执行时间超过long_query_time(缺省为10秒)的SQL语句。你也可以在启动配置文件中修改long query的时间,如:

  # Set long query time to 8 seconds
  long_query_time=8

  2. 如何查询某表的索引?

  可使用SHOW INDEX语句,如:

  SHOW INDEX FROM [表名]

  3. 如何查询某条语句的索引使用情况?

  可用EXPLAIN语句来看一下某条SELECT语句的索引使用情况。如果是UPDATE或DELETE语句,需要先转换为SELECT语句。

  4. 如何把导出INNODB引擎的内容到错误日志文件中?

  我们可以使用SHOW INNODB STATUS命令来查看INNODB引擎的很多有用的信息,如当前进程、事务、外键错误、死锁问题和其它一些统计数据。如何让该信息能记录在日志文件中 呢?只要使用如下语句创建innodb_monitor表,MySQL就会每15秒钟把该系统写入到错误日志文件中:

  CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;

  如果你不再需要导出到错误日志文件,只要删除该表即可:

  DROP TABLE innodb_monitor;

  5. 如何定期删除庞大的日志文件?

  只要在启动配置文件中设置日志过期时间即可:

  expire_logs_days=10

  注意事项:

  1. 重点关注索引

  下面以表TSK_TASK表为例说明SQL语句优化过程。TSK_TASK表用于保存系统监测任务,相关字段及索引如下:

  ID:主键;
  MON_TIME:监测时间;建了索引;
  STATUS_ID:任务状态;与SYS_HIER_INFO.ID建立了外键关系。

  注MySQL自动会为外键建立索引,在本次优化过程中,发现这些自动建立的外键索引会对SQL语句的效率产生不必要的干扰,需要特别注意!

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: Mysql MySQL 数据库 系统 后台

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网