0 0

mybatis使用find_in_set导致cpu占用过高5

问题表asks有个字段attids用来保存问题附件的id,多个附件用“,”隔开,比如有两个附件,附件id分别为8和9,则该字段保存内容为“8,9”

问题maper:
    
<resultMap type="com.ozing.dayi.domains.Ask" id="basicAskRsMapper">  
            ......省略其他  
        <association property="attachList" column="attids" select="com.ozing.dayi.persistence.AttachMapper.findAttachListByIds"/ 
    </resultMap>
 


附件findAttachListByIds的sql如下:
SELECT * FROM attachs WHERE FIND_IN_SET(attaid,#{attids}) 


用Show Processlist查看,发现经常有上面那句sql,而且mysql经常讲cpu的使用率占到100以上,该加的索引都加了。
因之前遗留问题,无法修改表结构,请问有什么好方法么?
2013年5月09日 11:53

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

0 0

分析下原因:ASK与attach的关系是1对多的关联,如楼主那样的配置出来的结构肯定是需要关联查询的。如何解决这样的关联查询呢? 在mapper.xml中不配置这样的关联关系,用程序来控制关联关系。这样就避免了数据库查询时关联查询导致的高IO读取问题,也就降低了CUP的占用。

2013年5月09日 20:53
0 0

数据量特别大,attids字段有索引的话建议拼写sql,SELECT * FROM attachs where attids = 8 union ELECT * FROM attachs where attids = 8这种形式

2013年5月09日 14:12
0 0

SELECT * FROM attachs WHERE FIND_IN_SET(attaid,#{attids})   因为这是全表扫描 建议改成attaid in (?) 子查询 

2013年5月09日 12:05

相关推荐

    Mysql中FIND_IN_SET()和IN区别简析

    在MySQL数据库中,`FIND_IN_SET()` 和 `IN` 是两种不同的查询方法,它们在处理数据集时有不同的特性和应用场景。本文将对这两种方法进行详细对比,以帮助理解它们之间的差异。 `FIND_IN_SET()` 函数主要用于在一个...

    mysql中find_in_set函数的基本使用方法

    FIND_IN_SET(str,strlist) 定义 假如字符串str在由多个子链组成的字符串列表strlist中,则返回值的范围在1到N之间。 一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。 如果第一个参数是一个...

    mybatis_plus_2.6_crack破解版

    mybatis_plus_2.6_crack破解版

    MyBatis_Generator_1.3.3

    MyBatis的Generator现在需要JRE 1.6或更高版本 增强功能 改变了注解提供Generator使用新的SQL生成器类从MyBatis的3.2。如果你必须在一个旧版本的MyBatis运行,设置在配置属性“useLegacyBuilder”为“true”。 问题...

    mybatis_log_plugin_2020idea.jar

    本文将围绕"Mybatis_log_plugin_2020idea.jar"这一主题,深入探讨如何在IntelliJ IDEA(简称IDEA)中安装和使用此插件,以及它所带来的诸多便利。 首先,"mybatis_log_plugin_2020idea.jar"是针对IDEA的一款专门...

    该开源项目功能类似于Mybatis_plus_generator_或_Mybatis_generat_auto

    该开源项目功能类似于Mybatis_plus_generator_或_Mybatis_generat_autogenerator

    idea2020-mybatis_log_plugin.rar

    【标题】"idea2020-mybatis_log_plugin.rar" 提供的是一个针对MyBatis框架的日志插件,适用于2020版本的IntelliJ IDEA(简称IDEA)。这个插件的主要目的是帮助开发者在开发过程中方便地查看和调试SQL语句,提升开发...

    mybatis_plugs_log.zip

    Mybatis_plugs_log 是一个专为 Mybatis 设计的插件,它的主要功能是简化 SQL 日志的打印过程。在传统的 Mybatis 使用中,如果想要查看执行的 SQL 语句,通常需要在日志配置中进行繁琐的设置,而这个插件的出现,极大...

    MyBatis_Generator_1.3.1

    6. **安装和使用**:将下载的"MyBatis_Generator_1.3.1"解压后,找到jar文件,将其放到Eclipse的plugins目录下。然后在Eclipse中,通过Window -&gt; Preferences -&gt; MyBatis Generator配置MBG。配置完成后,选择需要...

    mybatis_plus_v2.92

    适用于idea的mybatis_plus插件,mybatis_plus插件的版本号为2.92 安装方法: 在IDEA中打开Settings--&gt;Plugins--&gt;Install plugin from disk...选择mybatis_plus.jar即可

    SSM.zip_mybatis_spring_springMVC mybatis_springmvc_ssm

    标题 "SSM.zip_mybatis_spring_springMVC mybatis_springmvc_ssm" 提供了一个关于集成框架的线索,即Spring、SpringMVC和MyBatis的整合应用,通常称为SSM框架。这个框架是Java开发Web应用程序的常用组合,特别是对于...

    mybatis_spring.rar_Mybatis-spring_mybatis spring jar_mybatis-3.

    这个压缩包“mybatis_spring.rar”包含了一个Mybatis与Spring整合的示例源码,这对于理解这两者之间的集成过程非常有帮助。 首先,让我们了解一下Mybatis。Mybatis是一个优秀的持久层框架,它支持定制化SQL、存储...

    Boot.rar_mybatis_mybatis springboot_springboot_springboot mapper

    本资料包“Boot.rar_mybatis_mybatis_springboot_springboot_springboot_mapper”正是针对SpringBoot与MyBatis集成以及通用Mapper的使用进行了详细讲解。 首先,我们要理解SpringBoot的核心特性:自动配置、内嵌Web...

    MyBatis_Generator_Eclipse_1.3.1.zip

    Mybatis Generator eclipes插件 代码生成器 代码生成工具 下载后将features和plugins两个文件夹下的文件拷贝到eclipes安装路径下对应的features和plugins两个文件夹下即可

    MyBatis_3_User_Guide.zip_mybatis_mybatis api

    这份"MyBatis_3_User_Guide.zip"压缩包内包含的"MyBatis_3_User_Guide.pdf"文档,是MyBatis 3的用户指南,它全面解析了MyBatis框架的核心功能和使用方法。以下是一些主要知识点的详细说明: 1. **配置文件**:...

    mybatis_log_plugin.zip

    MyBatis Log Plugin 这款插件是直接将Mybatis执行的sql脚本显示出来,把 mybatis 输出的sql日志还原成完整的sql语句 1、本地安装 2、Tools 》mybatis_log_plugin

    SQL.rar_MyBatis3DynamicSql_dynamic mybatis_mybatis_mybatis Dyna

    而在MyBatis 3中,引入了动态SQL的功能,这正是"SQL.rar_MyBatis3DynamicSql_dynamic mybatis_mybatis_mybatis Dyna"这个压缩包所关注的主题。 动态SQL是MyBatis提供的一种强大功能,使得开发者能够在运行时根据...

    MyBatis_Generator_1.3.1自动生成代码.zip

    MyBatis Generator(MBG)是一款强大的自动化代码生成工具,尤其在使用MyBatis作为持久层框架时,它能够极大地提高开发效率。MyBatis Generator 1.3.1是该工具的一个较早版本,但即便如此,它仍然具有很多实用功能。...

Global site tag (gtag.js) - Google Analytics