MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 5364|回复: 2
打印 上一主题 下一主题

优化查询语法请教

[复制链接]
跳转到指定楼层
1#
发表于 2008-12-11 00:12:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前手边有句语法没有法达到最佳化,请各位先进帮我指教一下
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。请教先进是否还有改善空间,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
2#
发表于 2008-12-11 12:16:30 | 只看该作者
没有用到index的问题,建议用“使用USE INDEX、IGNORE INDEX、FORCE INDEX可以向优化符提示如何选择索引”,参考:
http://www.mysqlpub.com/onlinema ... /zh/sql-syntax.html

同时,可以把你的建表SQL,再提供几个数据SQL,我来试试...
3#
 楼主| 发表于 2008-12-11 22:24:09 | 只看该作者
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 |
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-4-30 14:04 , Processed in 0.067510 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表