0 0

Mybaties sql 优化5

数据库是oracle,我写了一个SQL
select * from customer cu where 1 = FUN_QX(#{userid},cu.id);
由于where后面有一个函数判断userid当前系统登录人是否有权限看这条记录,导致查询效率很慢。若果吧function里面的sql考出来直接拼接在后面查询就很快了。
除了吧function里的sql考出来,还有有别的方法解决这个效率问题?
2014年6月20日 16:05

4个答案 按时间排序 按投票排序

0 0

你权限控制,每次都要查DB吗?正常的做法,应该登陆时,将权限信息放到缓存,或者是放到session里才对吧。

2014年6月23日 10:17
0 0

最好的优化在于你的系统在用户登录的时候就把他的权限查询出来扔到缓存里,再通过他有没有权限查询做查询,而不是在查询过程中,或者查询都查询出来之后做这样的判断

2014年6月22日 15:41
0 0

可以试试改写一下 ,把函数里面的sql和外面的sql做个表连接。不要轻易用函数,特别是函数里面有sql的那种,效率非常低。

2014年6月20日 18:56
0 0

最烦在sql里面做繁琐数据处理的,干嘛不把数据取出来后台用代码判断?后台处理的效率比sql里高多了好么

2014年6月20日 17:29

相关推荐

    SpringBoot整合Mybatis连接SQL Server 跨库批量插入

    而Mybatis作为持久层框架,提供了灵活的SQL映射功能,使得数据库操作变得简单。本篇将深入探讨如何在Spring Boot项目中整合Mybatis,实现对SQL Server数据库的跨库批量插入操作。 首先,我们需要在Spring Boot项目...

    SpringMVC+Mybatis+SQLServer整合源码 含数据库文件

    SpringMVC、Mybatis和SQLServer是Java Web开发中常见的技术栈,它们分别负责不同的职责。SpringMVC作为Spring框架的一部分,是用于构建Web应用程序的模型-视图-控制器(MVC)架构。Mybatis是一个轻量级的持久层框架...

    idea插件-mybatis-打印sql

    通过这款插件,你可以实时查看SQL的执行情况,包括查询参数、执行时间等信息,这对于调试和优化数据库操作非常有帮助。此外,插件还支持自定义日志级别,可以根据项目需求调整SQL的日志输出。 总之,"MyBatis Log ...

    springboot+mybatis+sqlserver 仓库管理系统

    《SpringBoot+Mybatis+SQLServer构建的仓库管理系统详解》 在现代企业信息化管理中,仓库管理系统扮演着至关重要的角色,它能够有效地管理和追踪库存,提高运营效率。本项目是基于SpringBoot框架,结合Mybatis持久...

    原样输出mybatis的sql执行语句(mysql和oracle都可用).zip

    本文将深入探讨如何在SpringBoot(整合MyBatis)和传统的SSM(Spring、SpringMVC、MyBatis)项目中,原样输出MyBatis的SQL执行语句,以便于开发者直观地检查SQL语句是否正确和高效,从而进行优化和调试。此方法对...

    mybatis 2.7 sql优化破解版

    mybatis 2.7 sql优化破解版,在mybatis 2.7 破解版的基础上进行了部分优化,具体为会在生成的xml文件中,将字段名使用反引号引起来

    Mybatis Log(自动填充sql参数打印到控制台)

    总的来说,Mybatis的自动填充SQL参数功能对于调试和性能优化至关重要。通过合理配置日志系统,我们可以轻松地在控制台查看SQL执行情况,从而更好地理解和优化数据库操作。而`plugin.intellij.assistant.mybaitslog-...

    mybatis_plus_2.63_crack_modifyForMySql(mybatis的sql优化破解版)

    这个是针对mysql修改了下,比如select username form admin,没修改的就是上面的语句,改后的生成出来的语句是 select `username` form admin,也就是所有的字段名加了反引号

    通过Mybatis拦截器自动定位慢SQL并记录日志

    在Mybatis框架中,开发人员经常需要关注数据库查询性能,特别是慢SQL的定位与优化,因为它们直接影响到系统的响应速度和用户体验。为了有效地管理和解决这个问题,我们可以利用Mybatis的拦截器机制来自动检测并记录...

    mybatis查询入门(log4j控制台sql语句日记输出的)

    【标题】"mybatis查询入门(log4j控制台sql语句日记输出的)"涉及的知识点主要集中在MyBatis框架的基础使用以及如何通过Log4j在控制台输出SQL语句,以便于调试和优化数据库操作。MyBatis是一个轻量级的Java持久层框架...

    mybatis自动sql生成插件源码

    但需要注意的是,虽然插件能自动生成SQL,但在某些复杂查询场景下,可能仍需手动优化SQL以提升性能。 在实际应用中,要正确使用这个插件,你需要将其配置到MyBatis的配置文件中,指定拦截的Mapper接口或注解,然后...

    Mybatis优化

    ### Mybatis优化技巧详解 #### 一、引言 MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的过程。通过XML或注解的方式将要...

    mybatis直接执行sql语句后续之一

    博客中提到的"后续之一"可能意味着这是一个系列文章,可能逐步深入讲解了如何在MyBatis中执行SQL的各个方面,如动态SQL的运用、事务控制、性能优化等。通过对这些知识点的理解和掌握,开发者能够更好地利用MyBatis...

    idea mybatislog 日志打印 打印完整sql

    在开发过程中,为了调试和优化数据库操作,我们经常需要查看MyBatis执行的SQL语句。本文将详细介绍如何在IntelliJ IDEA中配置MyBatis日志打印,以便完整地输出SQL。 首先,我们需要了解MyBatis的日志系统。MyBatis...

    mybatis+spring 框架中配置日志中显示sql语句

    在MyBatis与Spring整合的框架中,为了便于调试和性能优化,我们常常需要在日志中打印出执行的SQL语句。以下是如何在这样的环境中配置日志来显示SQL语句的详细步骤。 首先,我们需要了解MyBatis的日志实现。MyBatis...

    MyBatis动态拼接SQL

    MyBatis是一款强大的Java持久层框架,它允许开发者将SQL语句直接写在XML映射文件或注解中,提供了灵活...需要注意的是,动态SQL的性能取决于数据库的优化程度,因此在设计SQL语句时,应尽量保持简洁,避免过度复杂化。

    idea插件mybaits log 打印sql语句

    总的来说,"idea插件mybaits log 打印sql语句"是一个针对IntelliJ IDEA的实用工具,它增强了MyBatis开发中的日志跟踪能力,使得开发者可以更高效地调试和优化SQL,提升开发效率。通过直接拖放`.jar`文件进行安装,...

    mybatis Sql打印两种方式

    在IT行业中,数据库操作是日常开发中的重要环节,而MyBatis作为一款流行的Java持久层框架,使得SQL操作更为便捷。在调试和优化SQL时,能够清晰地查看执行的SQL语句及其参数变得至关重要。本篇文章将详细讲解两种在...

    mybatis spring sqlserver mysql

    MyBatis、Spring和SQL Server、MySQL这四个关键词组合在一起,揭示了一个关于如何在Java后端开发中,利用这些技术实现高效分页查询的实践场景。这里我们将深入探讨这些技术及其在分页实现中的应用。 MyBatis是一个...

    elasticsearch sql支持增删改查且支持mybatis集成

    4. **性能和效率**:虽然Elasticsearch原本设计为一个分布式搜索和分析引擎,但通过Elasticsearch SQL,开发者可以利用SQL的优化器来提高查询效率,同时避免了转换SQL到Elasticsearch REST API的额外开销,进一步...

Global site tag (gtag.js) - Google Analytics