我的数据表中只有四万条记录,但查询起来速度非常慢

standford 2014-04-04 12:17:03
数据表:
CREATE TABLE IF NOT EXISTS `book_capital_11` (
`cid` int(8) unsigned NOT NULL AUTO_INCREMENT,
`bid` int(8) NOT NULL,
`listorder` smallint(5) unsigned NOT NULL DEFAULT '0',
`title` varchar(200) NOT NULL,
`content` text NOT NULL,
`updatetime` int(11) NOT NULL,
`url` varchar(200) NOT NULL,
`juanid` smallint(3) DEFAULT NULL,
`groupid` varchar(10) DEFAULT NULL,
PRIMARY KEY (`cid`),
UNIQUE KEY `cid` (`cid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

搜索语法:
SELECT bid,cid,url FROM book_capital_11 where bid=3319 ORDER BY `cid` desc LIMIT 0,20
这样搜索后速度比较慢,还有比这个效率更高的写法吗。
...全文
1205 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2014-05-17
  • 打赏
  • 举报
回复

-- 建立一个组合索引吧,因为bid 是查询条件,cid 是排序的
-- 注意两个字段的顺序 ,bid 在前,cid 在后。

create index _IXbook_capital_11 on book_capital_11(bid, cid) 
 
vgy12304 2014-05-15
  • 打赏
  • 举报
回复
需要加索引(增加索引的一般规制,where后面的字段,order后面的字段) 在sql命令中输入: create index 索引名称 on 字段名称;
gyx999 2014-05-14
  • 打赏
  • 举报
回复
cid 也要建立index,因为你用cid排序
csdddn 2014-04-25
  • 打赏
  • 举报
回复
服务器配置较低
xuzuning 2014-04-04
  • 打赏
  • 举报
回复
你不用数据库管理工具的吗?
standford 2014-04-04
  • 打赏
  • 举报
回复
具体怎么建,烦请高手指教。
xuzuning 2014-04-04
  • 打赏
  • 举报
回复
在 bid 上建索引
一起混吧 2014-04-04
  • 打赏
  • 举报
回复
create index IDX_bid on book_capital_11 (bid);

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧