广

MYSQL

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

    Monty说MySQL的优化(三)

    2018-04-09 07:41:39 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

      十一、维护

      如果可能,偶尔运行一下OPTIMIZE table,这对大量更新的变长行非常重要。

      偶尔用myisamchk -a更新一下表中的键码分布统计。记住在做之前关掉MySQL。

      如果有碎片文件,可能值得将所有文件复制到另一个磁盘上,清除原来的磁盘并拷回文件。

      如果遇到问题,用myisamchk或CHECK table检查表。

      用mysqladmin -i10 precesslist extended-status监控MySQL的状态。

      用MySQL GUI客户程序,你可以在不同的窗口内监控进程列表和状态。

      使用mysqladmin debug获得有关锁定和性能的信息。

      十二、优化SQL

      扬SQL之长,其它事情交由应用去做。使用SQL服务器来做:

      找出基于WHERE子句的行。

      JOIN表

      GROUP BY

      ORDER BY

      DISTINCT

      不要使用SQL来做:

      检验数据(如日期)

      成为一只计算器

      技巧:

      明智地使用键码。

      键码适合搜索,但不适合索引列的插入/更新。

      保持数据为数据库第三范式,但不要担心冗余信息或这如果你需要更快的速度,创建总结表。

      在大表上不做GROUP BY,相反创建大表的总结表并查询它。

      UPDATE table set count=count+1 where key_column=constant非常快。

      对于大表,或许最好偶尔生成总结表而不是一直保持总结表。

      充分利用INSERT的默认值。

      十三、不同SQL服务器的速度差别(以秒计)

      通过键码读取2000000行: NT Linux

      mysql 367 249

      mysql_odbc 464  

      db2_odbc 1206  

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

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