• 耐心去解决问题


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

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

    库是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++;

    来保证顺序。

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

  • 相关阅读:
    nginx配置反向代理
    hyperchain HVM使用java编写智能合约的编译、部署流程
    leetcode 140单词拆分Ⅱ
    bomblab phase5
    bomb lab 二三阶段
    2021暑假算法学习笔记(基础复习)#2
    2021暑假算法学习笔记(基础复习)#1
    O(logn)最长上升子序列并输出
    A Daily Topic # 7 阶乘的和(二进制/枚举)
    A Daily Topic # 6 星期几(模拟)
  • 原文地址:https://www.cnblogs.com/wcLT/p/5606028.html
Copyright © 2020-2023  润新知