用phpMyAdmin监视数据库运行情况,有些问题,两天了都没解决掉,请高手指点,先行谢过!
问题描述如下:
       变量                       值                                               描述 
1、  Innodb_buffer_pool_reads     275           InnoDB 进行逻辑读取时无法从缓冲池中获取而执行单页读取的次数。2、   Handler_read_rnd            4,513      根据固定位置读取行的请求数。如果你执行很多需要排序的查询,该值会很高。你可能有很多需要完整表扫描的查询,或者你使用了不正确的索引用来多表查询。 
 
3、  Handler_read_rnd_next       70 k        从数据文件中读取行的请求数。如果你在扫描很多表,该值会很大。通常情况下这意味着你的表没有做好索引,或者你的查询语句没有使用好索引字段。 4、Created_tmp_disk_tables        858           服务器执行语句时自动在磁盘上创建的临时表的数量。如果 Created_tmp_disk_tables 很大,你可以增加 tmp_table_size 的值,让服务器使用内存来存储临时表而非磁盘。5、Key_reads                      1              从磁盘中物理读取键块的次数。如果 Key_reads 很大,则说明您的 key_buffer_size 可能设置得太小了。缓存缺失率可以由 Key_reads/Key_read_requests 计算得出。  6、Opened_tables                 1,040        已经打开的表个数。如果该值很大,则说明表缓冲大小可能设置过小。 7、Select_full_join              44            没有使用索引的多表查询数。如果该值不为0,您应该仔细检查是否已经为表建立了适当的索引。    
 

解决方案 »

  1.   

    我觉得只要4,6需要关注一下
    4 要具体优化你的sql语句了
    6 需要加大table_cache 参数其他都比较正常
      

  2.   

    你只列出上面的值,却没有mysql服务持续运行的时间,这个很难深入分析
    从上面的值看来,第3点的值最大
    另外,建议你用mysql自身的慢日志(slow_query_log)进行跟踪下,找出可能有问题的语句,然后用explain进一步跟踪分析优化
      

  3.   

    用phpMyAdmin监视数据库运行情况,有些问题,两天了都没解决掉----------------------------
    你这里面提供的信息,不足够反映你系统的主要问题
    mysql系统优化,本来就是一项综合多方面信息分析来调整的(数据量越大、业务逻辑繁琐、并发越多,那可能就更复杂),而不是简单的改一两个参数就可以达到效果的(有可能出现短时间内适应的情况),否则,那还要DBA干嘛?
      

  4.   

    检查表的索引,explain检查所有语句是否能正确使用索引