ITPub博客

首页 > 数据库 > MySQL > 学习笔记:MySQL Cluster 的结果顺序

学习笔记:MySQL Cluster 的结果顺序

原创 MySQL 作者:denniswwh 时间:2009-08-26 15:46:18 0 删除 编辑

最近搭建了MySQL Cluster的环境来学习,发现一个很有意思的现象,在不加order by的情况下,返回的结果顺序是随机的,每次都不一样,如下

[@more@]

mysql> select * from test_ndb limit 3;
+---+-------+
| i | a |
+---+-------+
| 5 | test5 |
| 1 | test1 |
| 2 | test2 |
+---+-------+
3 rows in set (0.05 sec)

mysql> select * from test_ndb limit 3;
+---+-------+
| i | a |
+---+-------+
| 7 | test7 |
| 3 | test3 |
| 6 | test6 |
+---+-------+
3 rows in set (0.03 sec)

mysql> select * from test_ndb limit 3;
+---+-------+
| i | a |
+---+-------+
| 5 | test5 |
| 1 | test1 |
| 2 | test2 |
+---+-------+
3 rows in set (0.05 sec)

我想这应试与NDB的存储方式有关吧,NDB实际上将表的数据用hash算法分布到不同结点,NDB表的主键并不像InnoDB一样是聚集索引,而是hash索引,所以在取数据的时候每次的顺序就不一定一样了。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/124805/viewspace-1026359/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    74
  • 访问量
    397488