• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

这个SQL有没优化的余地呢解决思路

mysql 搞代码 7年前 (2018-06-05) 86次浏览 已收录 0个评论

这个SQL有没优化的余地呢
select distinct(t.tid) from mcuhome_post t where t.uid = ‘1’ and isthread = 0 
CREATE TABLE `mcuhome_post` (
  `pid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `tagid` mediumint(8) unsigned NOT NULL DEFAULT ‘0’,
  `tid` mediumint(8) unsigned NOT NULL DEFAULT ‘0’,
  `uid` mediumint(8) unsigned NOT NULL DEFAULT ‘0’,
  `username` varchar(15) NOT NULL DEFAULT ”,
  `ip` varchar(20) NOT NULL DEFAULT ”,
  `dateline` int(10) unsigned NOT NULL DEFAULT ‘0’,
  `message` text NOT NULL,
  `pic` varchar(255) NOT NULL DEFAULT ”,
  `isthread` tinyint(1) NOT NULL DEFAULT ‘0’,
  `hotuser` text NOT NULL,
  PRIMARY KEY (`pid`),
  KEY `tid` (`tid`,`dateline`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

tid是帖子的ID
我们这个post表是帖子的评论表,uid是参与评论的会员的id ,我们要检索出某个会员,参与过评论的帖子的所有tid 当然,同一篇帖子可以被同一个uid评论N次。现在要检索出某个uid的会员,所有评论过的帖子tid的集合。

——解决方案——————–
试试
alter table mcuhome_post add index idx_th(uid,isthread,tid)

——解决方案——————–
create index xx on mcuhome_post(uid,isthread,tid)


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:这个SQL有没优化的余地呢解决思路
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址