广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    用相关数据库命令对MySQL进行优化

    2018-04-25 21:46:55 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

    我们讨论的是数据库性能优化的另一方面,即运用数据库服务器内建的工具辅助性能分析和优化。

    ▲ show

    执行下面这个命令可以了解服务器的运行状态:mysql >show status;

    该命令将显示出一长列状态变量及其对应的值,其中包括:被中止访问的用户数量,被中止的连接数量,尝试连接的次数,并发连接数量最大值,以及其他许多有用的信息。这些信息对于确定系统问题和效率低下的原因是十分有用的。

    show命令除了能够显示出mysql服务器整体状态信息之外,它还能够显示出有关日志文件、指定数据库、表、索引、进程和许可权限表的宝贵信息。

    ▲ explain

    explain能够分析select命令的处理过程。这不仅对于决定是否要为表加上索引很有用,而且对于了解mysql处理复杂连接的过程也很有用。

    下面这个例子显示了如何用explain提供的信息逐步地优化连接查询。(本例来自mysql文档,见http://www.mysql.com/doc/e/x/explain.html。原文写到这里似乎有点潦草了事,特加上此例。)

    假定用explain分析的select命令如下所示:

    explain select tt.ticketnumber, tt.timein,
          tt.projectreference, tt.estimatedshipdate,
          tt.actualshipdate, tt.clientid,
          tt.servicecodes, tt.repetitiveid,
          tt.currentprocess, tt.currentdpperson,
          tt.recordvolume, tt.dpprinted, et.country,
          et_1.country, do.custname
        from tt, et, et as et_1, do
        where tt.submittime is null
          and tt.actualpc = et.employid
          and tt.assignedpc = et_1.employid
          and tt.clientid = do.custnmbr;

    select命令中出现的表定义如下:

    表定义

    表          列           列类型 
    tt          actualpc      char(10) 
    tt          assignedpc    char(10) 
    tt          clientid      char(10) 
    et          employid      char(15) 
    do          custnmbr      char(15)

    索引

    表  索引 
    tt  actualpc 
    tt  assignedpc 
    tt  clientid 
    et  employid (主键) 
    do  custnmbr (主键)

    tt.actualpc值分布不均匀

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告