在Mysql5下使用Hash分区时排序的怪异现象

发表:08月21日 21:52  标签: MySQL5 Hash分区 排序 Order 原创

有一数据表,ID字段,主键和自增量属性,同时做为Hash分区字段,使用InnoDB引擎。

SQL:SELECT * FROM tab WHERE userID = ? ORDER BY ID DESC

但返回的记录列表如下:

ID,title
124322,a111
124311,a222
5321,a333
15324,a444
15321,a55
1234,a66

由此可以看到返回的记录集并没有真正以ID排序,而之前没有使用分区,并使用MYISAM引擎的时候并没有这个情况,

由于使用主键字段作为分区字段,同时Mysql5在分区的时候并没有全局索引,只有每个分区单独的索引。所以估计这个SQL只是返回各自分区排序后的结果,然后做union就直接返回了。

最后改为:

SQL:SELECT * FROM tab WHERE userID = ? ORDER BY ID + 0 DESC

1条评论(Comments) 订阅该Blog下的评论RSS
none  [09月02日 13:53]
请问+ 0 ? 什么意思 ?
发表评论(点击右边的小按钮打开或关闭表单)  点击打开表单
RSS订阅
google reader
鲜果
有道
QQ邮箱
九点
本站广告
文章导读
最新评论
我的豆瓣秀