LAMP系统MySQL数据库服务器优化技巧:对查询进行优化
创始人
2024-07-23 01:20:13
0

LAMP系统MySQL数据库服务器优化技巧:对查询进行优化

  每个会话的设置

  下面这些设置针对于每个会话。在设置这些数字时要十分谨慎,因为它们在乘以可能存在的连接数时候,这些选项表示大量的内存!您可以通过代码修改会话中的这些数字,或者在 my.cnf 中为所有会话修改这些设置。

  当 MySQL 必须要进行排序时,就会在从磁盘上读取数据时分配一个排序缓冲区来存放这些数据行。如果要排序的数据太大,那么数据就必须保存到磁盘上的临时文件中,并再次进行排序。如果 sort_merge_passes 状态变量很大,这就指示了磁盘的活动情况。清单 8 给出了一些与排序相关的状态计数器信息。

  清单 8. 显示排序统计信息

  1. mysql> SHOW STATUS LIKE "sort%";  
  2.  
  3. +-------------------+---------+  
  4.  
  5. | Variable_name | Value |  
  6.  
  7. +-------------------+---------+  
  8.  
  9. | Sort_merge_passes | 1 |  
  10.  
  11. | Sort_range | 79192 |  
  12.  
  13. | Sort_rows | 2066532 |  
  14.  
  15. | Sort_scan | 44006 |  
  16.  
  17. +-------------------+---------+  
  18.  
  19. 4 rows in set (0.00 sec)  
  20.  

  如果 sort_merge_passes 很大,就表示需要注意 sort_buffer_size。例如, sort_buffer_size = 4M 将排序缓冲区设置为 4MB。

  MySQL 也会分配一些内存来读取表。理想情况下,索引提供了足够多的信息,可以只读入所需要的行,但是有时候查询(设计不佳或数据本性使然)需要读取表中大量数据。要理解这种行为,需要知道运行了多少个 SELECT 语句,以及需要读取表中的下一行数据的次数(而不是通过索引直接访问)。实现这种功能的命令如清单 9 所示。

  清单 9. 确定表扫描比率

  1. mysql> SHOW STATUS LIKE "com_select";  
  2.  
  3. +---------------+--------+  
  4.  
  5. | Variable_name | Value |  
  6.  
  7. +---------------+--------+  
  8.  
  9. | Com_select | 318243 |  
  10.  
  11. +---------------+--------+  
  12.  
  13. 1 row in set (0.00 sec)  
  14.  
  15. mysql> SHOW STATUS LIKE "handler_read_rnd_next";  
  16.  
  17. +-----------------------+-----------+  
  18.  
  19. | Variable_name | Value |  
  20.  
  21. +-----------------------+-----------+  
  22.  
  23. | Handler_read_rnd_next | 165959471 |  
  24.  
  25. +-----------------------+-----------+  
  26.  
  27. 1 row in set (0.00 sec)  
  28.  

  Handler_read_rnd_next / Com_select 得出了表扫描比率 —— 在本例中是 521:1。如果该值超过 4000,就应该查看 read_buffer_size,例如 read_buffer_size = 4M。如果这个数字超过了 8M,就应该与开发人员讨论一下对这些查询进行调优了!

【编辑推荐】

Ubuntu下LAMP的配置

Ubuntu10.04下LAMP环境的搭建

LAMP配置MYsql问题-1045

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...