日期:2014-05-17  浏览次数:20829 次

急!!!不同的数据导入方式,同一查询语句,结果顺序不同
不同的数据导入方式,同一查询语句,结果顺序不同
表A   (Key:id,tid)                       表B(Key:id)
id   tid   name               id       place
1       a       a                     1         xx
2       b       b                     2         yy
1       c       c                     3         zz  
3       d       d

同一dump文件,user权限,

方式一:createDB(建表)
                导入dump文件
方式二:直接导入dump文件

同一查询语句  
select   a.*,b.place   from   A   a   left   join   B   b   on   a.id   =   b.id  
方式一结果:
id     tid   name   place                      
1       a       a         xx                      
1       c       c         xx
2       b       b         yy
3       d       d         zz

方式二结果:
id     tid   name   place                      
1       a       a         xx                      
2       b       b         yy
1       c       c         xx
3       d       d         zz

请问大虾们为什么会这样?急!!!

------解决方案--------------------
要不这样再试一次:把这几条纪录使用insert into 到表中,然后再执行select 这样我觉得就可以验证你的结果是否合理了。
------解决方案--------------------
这个感觉正常啊,要关注排序还是最好加少order by
------解决方案--------------------
显然,如果其他都是一样的,同样的sql文检索出的数据不可能不一致
用这两种方式导入的数据是否有微妙的差别
这个不是很清楚
LZ可以尝试再重新造两组数据
1组规则排序,2组不规则排序
再次用两种方式插入数据
假设:1组的检索结果一致 而2组的不一致
那么应该是两种插入数据的方式的差别
具体原因再去查相关资料吧
------解决方案--------------------
用hint强制指定index后看结果是否一样