你还是把索引加上把,如给SID & IP做个联合索引,要不然速度不会快的!

解决方案 »

  1.   

    安装配置的时候,有多种选项,不要用默认,my.ini里有很多不同的配置;也可以参考一下my-huge.ini,然后到官方去研究一下
      

  2.   

    To  loveflea(coolwind):
    我这个是一个日志表,主要操作是插入,一个完整的操作是[先select检索一遍,没有类似纪录则insert插入],基本上一天要插入10000多条纪录,貌似做索引反而更加吃亏....
    select B from USER where SID=79 and IP='220.190.16.25'不过是插入前的唯一值确认而已,而且sid和ip还不能做成key,因为有些sid又是允许ip重复的,比如sid=76的允许有多个'220.190.16.25'ip的字段。To  mathematician(数学家):
    我现在的表结构是MyISAM,mysql是4.1.x版本的,不知道有没有什么关系,目前几个表合起来大概有100M左右的内容。To XqYuan():
    my-huge.ini应该是适用于上百万条纪录规模把,我一般10天左右会把我的A表清理一遍的,基本上纪录数都在20W-40W左右,应该不需要用my-huge把以上,谢谢答复的各位,尚请继续会诊,^-^
      

  3.   

    刚刚把my-large.ini的配置移过去,发现效果不是很好,感觉这么配置主要是增加缓存的,同样select B from USER where SID=79 and IP='220.190.16.25',第一次运行还是要20-30%的cpu资源,第二次运行才能减少到5%。问题我的主要操作是插入,也就是说IP基本上都是唯一的,比如第一次插入的是'220.190.16.25',第二次插入的就是'220.190.16.26',每次的Select都是变换的,加大了缓存的效果好像也是很小:
    select B from USER where SID=79 and IP='220.190.16.25'
    select B from USER where SID=79 and IP='220.190.16.26'
    select B from USER where SID=79 and IP='220.190.16.27'
    难道一定要做两张表,一张小表作cache,每天定时导到大表里面吗,保证cache表的纪录数永远小于2W条吗?