SELECT * FROM `gnum` WHERE  `date` > '{$startDate}' AND `date` < '{$endDate}' AND name='{$name}' AND g_win is not null {$g_type} ORDER BY g_id DESC
请教一下经常执行这条查询,CPU已经经常100%数据量目前有20万,经常查询。date为日期字段,精确到秒,有一些记录重复。name为用户名字段,也是有很多重复。请问这样可以创建name或者DATE为索引字段吗 。

解决方案 »

  1.   

    create index xxx on `gnum`  (g_win,`date` )
      

  2.   

    SELECT * FROM `gnum` WHERE  `date` > '{$startDate}' AND `date` < '{$endDate}' AND name='{$name}' AND g_win is not null {$g_type} ORDER BY g_id DESC另外你的这个ll {$g_type} 是什么, 建议直接贴你的SQL语句而不是贴PHP代码让别人来猜,并不是所有用MYSQL的朋友都懂PHP。也是是懂PHP就能猜出你的 {$g_type} 是什么。
    问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
      

  3.   

    baospark 
      '截至2012-08-10 22:45:50  用户结帖率0.00% 当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖
      

  4.   

    create index aa on gnum(date,g_win)
      

  5.   

    我直接把这两个字段添加为索引了 。现在CPU一直在15-20震动。这样可以吗