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

时间:2008年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  [2008年09月02日 13:53]
请问+ 0 ? 什么意思 ?
发表评论
正在加载...
搜索更多
文章导读
最新评论
我的豆瓣秀
RSS订阅
抓虾
Rojo
google reader
netvibes
my yahoo
newsgator
bloglines
鲜果
哪吒
有道
QQ邮箱
九点