首页 > 其他 > 详细

耐心去解决问题

时间:2016-06-22 10:33:20      阅读:258      评论:0      收藏:0      [点我收藏+]

刚才外地回来。经过紧张的通宵式工作,总算项目告一段落了。

中间发现一个问题。就是一个列表的结果返回不准确。

库是MySQL。

发现结果不准确后,开始对查询SQL进行限制。增加orderby ,测试了一下,发现没问题就提交了。

过了一天,又有报这类问题的,但是经过多次测试,无法复现。

经过查询资料,发现MySQL排序本身就是不准确,但是这不是结果错误的原因。

MySQL结果不准确,可以用程序来修正。mysql要保证结果顺序的唯一性,要orderby 排序字段,另加一个唯一列(自增ID最好)。

mysql 时间转化为时间戳 UNIX_TIMESTAMP(字段)这时候,这个字段就可以排序了,order by UNIX_TIMESTAMP (XXX) desc。

这时候,mysql的问题解决了。

asp.net webapi 返回结果的时候,发现对象排序是使用的第一个属性进行字符串排序,这个就有问题了,目前的项目model返回的第一个列是ID,guid,非自自增。

也会造成排序混乱(可能)。

现在解决方式是,model第一个属性为排序专用字段。字段的值是整形数(int)。

大概如下。

int index=1;

xxx.sortKey=index;

index++;

来保证顺序。

经过结果比对,结果正常(结果是专门挑选的出问题的数据进行测试的,算是直接回归问题部分)。

 

耐心去解决问题

原文:http://www.cnblogs.com/wcLT/p/5606028.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!