mysql order by字段是否应该创建索引

语句是这样:select*from表wherechannerId=1orderbydtTimedesc;向程序中只使用这样的语句创建索引的话是只给channelId创建好... 语句是这样:select * from 表 where channerId=1 order by dtTime desc;
向程序中只使用这样的语句创建索引的话是只给channelId创建好 还是channelId+dtTime式的复合索引比较好
展开
 我来答
gwbnet
推荐于2016-09-17 · TA获得超过894个赞
知道小有建树答主
回答量:350
采纳率:100%
帮助的人:226万
展开全部
0 确认下需求,如果只是为了应对这一个查询或类似于where channerId=x order by dtTime desc的查询,理论上 channelId+dtTime式的复合索引会更高效。
1 自动动手 explain 下这个查询,之前先建立 channelid 单索引、dtTime 单索引 和 channelId+dtTime 复合索引。
分别对 自动使用索引、强制使用 dtTime 索引、强制使用 channelId+dtTime 复合索引的情况都 explain下;
掌握下explain吧,你会提高一个认识水平的。
laizijiding
2013-04-03 · TA获得超过416个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:215万
展开全部
channelId 是主键 主键特殊的唯一索引了 如果你想加快 时间排序 可以给dtTime 添加一下索引
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式