当sql语句 order by [A] desc ,[B] desc 多个排序字段会造成查找性能变慢。
解决方法1
合并A,B两个字段成C,按照C去排序(优点不用说了,彻底解决了问题,缺点,就是是后期添加的改动起来设计东西比较多,很麻烦,改动大,建议早期设计时尽量避免多个字段查询)
解决方法2
增加索引(优点,方法简单。数据太多时,设计代码多时,倒是可以省去很多工作量。缺点,性能不能达到很完美。)
解决方法3
数据库取出后,在代码中修改排序(优点,代码中排序方法多,网上提供的成熟算法也多。实现起来并不难,对于数据量一般的情况下,性能很好。缺点,当数据库和服务器不在同一服务器,数据量很大时,会很麻烦,性能严重受影响,只适合数据量小的表)
总结: 设计时尽量避免多个字段排序,可以设计一个c,d,e等专门用来排序的字段,当然你数据量,业务小就无所谓了。