MariaDB社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3753|回复: 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|小黑屋|手机版|MariaDB社区 ( 京ICP备07012489号    |
业务联系: QQ:48474881; 邮箱: 48474881@qq.com; 电话:13911732319
声明:本站部分文章是网友转载,若未经作者同意或署名有误,请联系网站管理员。

GMT+8, 2024-11-1 18:24 , Processed in 0.091840 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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