SQLSERVER 查询语句加with (NOLOCK) 报ORDER BY 报错 除非另外还指定了 TOP、OFFSET 或 FOR XML

news/2025/2/22 1:58:56/

最近有一个项目在客户使用时发现死锁问题,用的数据库是SQLSERVER ,死锁的原因是有的客户经常去点报表,报表查询时间又慢,然后又有人在做单导致了死锁,然后主管要我们用SQLSERVER查询时要加with (NOLOCK),但是我在加完 with (NOLOCK) 后发现已经的用Mybatis-plus的 在mybatis里的分页报错了
在这里插入图片描述
原因是用了with (NOLOCK) ,select count 把ORDER BY 也放进去了,所以报了这个错
解决办法
1.如果你不是很需要加with (NOLOCK) 的话还是不要加为好。
2.你确实需要加的话,还要用Mybatis-plus的话,要么就自己写select count,要么也可以自己写个后端分页,还可以和pagehelper分页插件组合使用
我的解决办法(将IPage 查询结果换成List 集合返回结果 然后 再将List集合转化成IPage 分页集合)

protected IPage list2Page(Term term, List list) {IPage iPage = this.getPage(term);int start = (term.getPage() - 1) * term.getRows();int end = term.getPage() * term.getRows();List list$cpage = new ArrayList();for(int i = 0; i < list.size(); ++i) {if (i >= start && i < end) {list$cpage.add(list.get(i));}}iPage.setTotal((long)list.size());iPage.setRecords(list$cpage);return iPage;}

http://www.ppmy.cn/news/1038075.html

相关文章

ubuntu16.04制作本地apt源离线安装

一、首先在有外网的服务器安装需要安装的软件&#xff0c;打包deb软件。 cd /var/cache/apt zip -r archives.zip archives sz archives.zip 二、在无外网服务器上传deb包&#xff0c;并配置apt源。 1、上传deb包安装lrzsz、unzip 用ftp软件连接无外网服务器协议选择sftp…

关系代数运算中的集合运算符和关系运算符

关系代数是一种抽象的查询语言&#xff0c;是研究关系模型的数学工具。关系代数的运算对象是关系&#xff0c;运算结果也是关系。关系代数运算符主要分为集合运算符和关系运算符两大类。 集合运算符有笛卡尔积、并、交、差&#xff0c;关系运算符有除、选择、投影、连接&#x…

手撸一个简单的Tomcat,延伸`SpringMvc`的原理

为什么写这篇文章 一直以来都说tomcat是用的java写的&#xff0c;但是也是不明白到底是怎么弄的&#xff0c;最近有个机会搞明白了&#xff0c;特此记录&#xff0c;可以使得更懂tomcat的原理 用java写一个java的运行程序&#xff0c;听着就很酷&#xff0c;你觉得呢&#xf…

民安汇智(第三方旅游服务暗访)开展旅游景区度假区明察暗访复核检查服务

近日&#xff0c;民安汇智受客户委托对该市某旅游景区度假区进行明察暗访复核检查工作。 民安汇智通过实地调研、体验式暗访等各种方式对该市范围内3A级以上旅游景区、旅游度假区及2022年新创建的3A级以上旅游景区、旅游度假区进行明察暗访复核检查&#xff0c;对照《旅游景区…

Postman下载教程

目录 下载 安装 注意事项 看到很多小伙伴在问 Postman 下载的相关问题&#xff0c;花时间整理了下&#xff0c;下面教新入门的小伙伴如何去下载 Postman。 开始前我们可以先了解下&#xff1a;Postman 简介 下载 第一步&#xff1a;进入 Postman 官网 首先&#xff0c;我…

Linux进阶之Shell-sed

基本用法&#xff1a; sed 选项 “指令” 文件 常用选项&#xff1a; -e   --它告诉sed将下一个参数解释为一个sed指令&#xff0c;只有当命令行上给出多个sed指令时使用 -f   --后跟保存了sed指令的文件 -i   --直接对内容进行修改&#xff0c;不加 i 时默认只是预…

C++学习笔记总结练习:LRU算法

lru最近最少使用算法 对于web开发而言&#xff0c;缓存必不可少&#xff0c;也是提高性能最常用的方式。无论是浏览器缓存&#xff0c;还是服务端的缓存(通过memcached或者redis等内存数据库)。缓存不仅可以加速用户的访问&#xff0c;同时也可以降低服务器的负载和压力。那么…

聊聊非科班转IT

我这算是妥妥的非科班转计算机的了&#xff0c;先介绍下自己的情况吧。 14年大专毕业&#xff0c;学的汽车运用专业。&#xff08;什么&#xff1f;你说啥是汽车运用专业&#xff1f;那机械设计总知道吧&#xff0c;这个专业接本后就是机械设计了。&#xff09; 毕业后服役&…