公司要做一个在线跟踪的客户访问轨迹的功能,小弟用mysql实现数据的存储。当数据的数据量到一定数量比如:100000,每次的查询返回的数量也到一定数比如1000。再进行插入操作的时候服务器的 cpu 就可以使爆满。但是要是只做插入就没有任何问题,只做查询也没有任何问题。小弟测试机的配置:奔4处理器,1G内存。另外 my.ini配置信息如下:
[client]port=3306[mysql]default-character-set=gbk
port=3306
basedir="C:/Program Files/MySQL/MySQL Server 5.0/"datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"
default-character-set=gbkdefault-storage-engine=INNODBsql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"max_connections=169query_cache_size=8Mtable_cache=338tmp_table_size=9M
thread_cache_size=8myisam_max_sort_file_size=100Gmyisam_max_extra_sort_file_size=100Gmyisam_sort_buffer_size=8Mkey_buffer_size=8Mread_buffer_size=64K
read_rnd_buffer_size=250Ksort_buffer_size=188K
innodb_additional_mem_pool_size=2Minnodb_flush_log_at_trx_commit=1innodb_log_buffer_size=1Minnodb_buffer_pool_size=8Minnodb_log_file_size=10Minnodb_thread_concurrency=8目前选择是mysql 的developer模式。
再次感谢各位热心的大侠的帮忙。

解决方案 »

  1.   

    有没有更好的办法,大家觉得使用sqlserver怎样?
      

  2.   

    有没有更好的办法,大家觉得使用sqlserver怎样?
    ===================================
    MYSQL已经可以满足你的需要了。你自己数据库没有弄好,换了也是一样的.
      

  3.   

    由于小弟我对mysql不熟,现在改用sqlserver情况好多了,谢谢各位的支持
      

  4.   


    sort_buffer_size
    key_buffer_size 
    都设置的大一些如果使用的是 innodb ,不过你应该是使用的 是 innodb 
    将这些值设置的大一些
    innodb_additional_mem_pool_size=20M
    innodb_log_buffer_size=2M
    innodb_buffer_pool_size=250M