原来的:
List<Convention> conventions = test2Boy.getConventions(); for (Convention convention : conventions) { //因为在html中\n不会换行,所以要把\n转化为br convention.setAnswer(ConventionUtil.convertBr(convention.getAnswer())); VoteLog voteLogTmp=this.voteLogDao.get( "user.id", user2.getId(),"convention.id",convention.getId()); if(null!=voteLogTmp){ convention.setHasStar(true); } }
conventions 有多少个元素,就得执行多少次sql语句
优化:
List<Convention> conventions = test2Boy.getConventions(); int size=conventions.size(); Object[]objects=new Object[size]; for (int i=0;i<size;i++){ Convention convention=conventions.get(i); objects[i]=convention.getId(); } List voteLogTmps=this.voteLogDao.getList("user.id", user2.getId(),"convention.id",objects); int voteLogSize=voteLogTmps.size(); for (int j=0;j<voteLogSize;j++){ VoteLog voteLogTmp=(VoteLog)voteLogTmps.get(j); Convention convention=voteLogTmp.getConvention(); if(null!=convention){ convention.setHasStar(true); } }
执行的sql语句为:
/* criteria query */ select this_.id as id1_8_2_, this_.conventionId as conventi4_8_2_, this_.status as status2_8_2_, this_.userId as userId5_8_2_, this_.vote_time as vote3_8_2_, convention2_.id as id1_2_0_, convention2_.answer as answer2_2_0_, convention2_.pic as pic3_2_0_, convention2_.stars as stars4_2_0_, convention2_.status as status5_2_0_, convention2_.update_time as update6_2_0_, user3_.id as id1_7_1_, user3_.email as email2_7_1_, user3_.level as level3_7_1_, user3_.nickname as nickname4_7_1_, user3_.password as password5_7_1_, user3_.potrait as potrait6_7_1_, user3_.username as username7_7_1_ from t_vote_log this_ left outer join t_convention convention2_ on this_.conventionId=convention2_.id left outer join t_user user3_ on this_.userId=user3_.id where this_.userId=? and this_.conventionId in ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )
相关推荐
"Oracle 提高查询效率的方法" Oracle数据管理系统作为一个强大的关系型数据库管理系统,具有高效、可靠、可扩展的特点。但是,随着数据量的增加和复杂查询的增加,查询效率可能会下降。因此,提高查询效率是 ...
知识点:索引的作用是缩小扫描的范围,从而提高查询效率。但是,索引也可以导致插入、更新和删除操作变慢,因此需要合理地设计索引。 2. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用...
索引是数据库中提高查询效率的重要工具,它可以大幅度减少数据检索所需的时间。然而,索引并非万能,一个不恰当的索引设置可能会导致性能下降。在SQL Server中,索引分为聚集索引(CLUSTERED INDEX)和非聚集索引...
提高查询效率的策略 在一个千万级的数据库查寻中,提高查询效率是非常重要的。以下是提高查询效率的一些策略: 数据库设计方面 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列...
- **连接顺序的影响**:Oracle按照从右到左的顺序处理FROM子句中的表名,因此,选择记录数最少的表作为基础表可以显著提高查询效率。 - **条件排序**:在WHERE子句中,应先放置那些可以过滤掉最大数量记录的条件,...
如何用索引来提高查询效率 索引是数据库查询优化的重要手段之一。当查询结果仅为一行或很少几行时,利用索引进行查询可以大大提高效率。相比之下,如果没有索引,查询则只能顺序扫描整个表。在OLTP环境下,事务处理...
另外,索引组织表(Index-Organized Table, IOT)是提高查询效率的有效手段。IOT将数据存储在索引结构中,直接通过索引进行数据访问,减少了访问表数据的步骤,从而加快查询速度。 综上所述,优化Oracle索引的关键...
- **使用变长字段**:对于非固定长度的数据,使用VARCHAR/NVARCHAR等变长字段可以节省存储空间,同时提高查询效率。 3. **临时表与表变量的应用**: - **临时表与表变量的使用**:对于频繁使用的数据集,可以使用...
* 使用存储过程:使用存储过程可以将频繁查询的操作封装起来,提高查询效率。 * 优化数据库结构:优化数据库结构,例如,使用合适的数据类型,优化表结构等。 提高 MySQL 数据库查询效率需要从多方面入手,使用 ...
在Oracle数据库管理与优化领域,提高查询效率是至关重要的一个环节。这不仅能够显著提升应用程序的性能,还能减少数据库服务器的负载,从而为用户提供更流畅的服务体验。本文将结合提供的SQL示例,深入探讨如何通过...
13. 很多时候用 exists 代替 in 是一个好的选择,因为 exists 可以减少查询次数,提高查询效率。 14. 并不是所有索引对查询都有效,SQL 是根据表中数据来进行查询优化的,当索引列有大量数据重复时,SQL 查询可能...
为了提高查询效率,应该尽可能避免使用全表扫描。例如,在使用`WHERE`子句时,应尽量使用条件筛选来缩小搜索范围,避免使用`ORDER BY`而没有相应的索引支持等。例如: - 错误示例:`SELECT id FROM t WHERE num IS ...
不同的存储引擎有不同的优缺,选择合适的存储引擎可以提高查询效率。 7. Avoid using SELECT \* 使用 SELECT \* 可能会导致查询效率下降,因为它需要扫描整个表来获取所有的列。 8. 使用索引来提高查询效率 索引...
1. 对查询进行优化,将尽量避免全表扫描,在where和order by子句中涉及的列上建立索引,提高查询效率。 数据库查询效率的关键是索引的使用,索引可以大大提高查询速度。在where和order by子句中涉及的列上建立索引...
为了提高查询效率,应当选择记录条数最少的表作为基础表(driving table)。当涉及三个或以上表的连接查询时,应考虑将被其他表引用的表作为基础表,这类表被称为交叉表(intersection table)。 #### 2. WHERE子句...
在实际应用中,数据库优化器的应用非常广泛,如在数据仓库、数据挖掘、商业智能等领域都需要使用数据库优化器来提高查询效率。因此,掌握数据库优化器的使用是非常重要的。 数据库优化器是提高SQL查询效率的重要...
### SQL查询效率提升详解 #### 一、理解SQL查询优化的重要性 ...通过遵循上述建议并结合实际情况灵活应用,可以显著提高查询效率,进而改善整个系统的性能。在实践中不断尝试和优化,是提升SQL查询效率的关键。
它可以大大提高查询效率,减少I/O操作。索引可以是B+树索引、簇索引、散列簇索引、反序索引、位图索引和函数索引等多种类型。 B+树索引是Oracle中最常用的索引类型。它的特点是所有叶节点都具有相同的深度,因此...
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id ...
在处理千万级甚至更大规模的数据库时,查询效率至关重要,因为低效的查询可能导致系统响应时间过长,用户体验下降,甚至服务器资源耗尽。要优化此类数据库的查询性能,可以采取以下策略: 1. **索引优化**:索引是...