MySQL社区

标题: 优化查询语法请教 [打印本页]

作者: geniuswolf    时间: 2008-12-11 00:12
标题: 优化查询语法请教
目前手边有句语法没有法达到最佳化,请各位先进帮我指教一下
mysql> explain SELECT ABC.ID FROM TEST.ABC WHERE ABC.GDATE < SUBDATE(SYSDATE(),INTERVAL 3 DAY)\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: ABC
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 151290
        Extra: Using where
1 row in set (0.00 sec)


KEY `GDATE` (`GDATE`)
上面的GDATE已经有作index了,但还是需要exam所有的rows。请教先进是否还有改善空间,谢谢!
作者: kider    时间: 2008-12-11 12:16
没有用到index的问题,建议用“使用USE INDEX、IGNORE INDEX、FORCE INDEX可以向优化符提示如何选择索引”,参考:
http://www.mysqlpub.com/onlinema ... /zh/sql-syntax.html

同时,可以把你的建表SQL,再提供几个数据SQL,我来试试...
作者: geniuswolf    时间: 2008-12-11 22:24
use index 还有 force index 我都试过了,还是没改善,下面是show create table的内容
| GAMES | CREATE TABLE `ABC` (
  `ID` int(10) NOT NULL auto_increment,
  `BALL_ID` int(10) NOT NULL default '0',
  `GTYPE` varchar(6) NOT NULL default '',
  `LEAGUE_ID` int(7) NOT NULL default '0',
  `LEAGUES_TYPE` tinyint(1) NOT NULL default '0',
  `GDATE` datetime NOT NULL default '0000-00-00 00:00:00',
  `NUM_C` varchar(6) NOT NULL default '',
  `NUM_H` varchar(6) NOT NULL default '',
  `PIC_H` int(11) NOT NULL default '0',
  `PIC_C` int(11) NOT NULL default '0',
  PRIMARY KEY  (`ID`),
  KEY `IDX_G` (`GTYPE`),
  KEY `GDATE` (`GDATE`)
) ENGINE=MyISAM AUTO_INCREMENT=191729 DEFAULT CHARSET=utf8 |




欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2