现在有一个表的数据已经达到了3000万,而且检索的频率很高,现在检索数据的时候最快也得10几秒的时间,用的是mysql5.0的数据库,现在我做了一下优化把my-large.ini替换了默认的my.ini文件。配置如下:
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
     现在服务器的可用内存是4G。我改完配置重新启动服务以后进行程序的测试后发现跟原来使用默认的my.ini的配置检索数据的速度差不多,大家帮忙看看这个问题怎么去做一下优化。先谢了。

解决方案 »

  1.   

    优化包括很多部分 首先你要保证你查询语句是最优化的 包括索引啊 分区表之类的还有就是服务器优化 即配置文件 这也是根据需求进行配置
    key_buffer = 256M 
    max_allowed_packet = 1M 
    table_cache = 256 
    sort_buffer_size = 1M 
    read_buffer_size = 1M 

    read_rnd_buffer_size = 4M 
    myisam_sort_buffer_size = 64M 
    thread_cache_size = 8 
    query_cache_size= 16M 
    这些参数适量的调大点再最后是服务器配置 查询需要消耗io 内存要足够大
      

  2.   

    谢谢楼上的回复。现在唯一的办法可能就是在硬件和mysql的配置文件上做改动。