0 0

遍历List 还是查询数据库。。10

如果List里面项目很多 达到3000到1W条以上,而且不能直接通过索引定位每一项。
由于处于大的并发程序中,而且不光是查询,会有修改操作。 List要求线程安全,就是会有很多线程要遍历这个List。
每次需要遍历List找到要的数据,我觉得这样效率不高。是否可以用内嵌的数据库来
解决这个问题呢?比如将数据都存在数据库中,然后根据条件直接查找出来,这样效率是不
是比遍历List效率高?
请指点,或者有其他解决方案?

问题补充
wzybadboy 写道
一万条数据不算很多吧,效率应该不会有太大的影响。


恩 单个的List是不多
有点忘了说 由于处于大的并发程序中 List要求线程安全,就是会有很多线程要遍历这个List。
2008年9月19日 18:29

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

0 0

采纳的答案

内存数据库不是好的方案,把这些数据加载进去花的时间也不少。
建议用Map,把最常用的当做Key,配合commons collections,这才是正道

2008年9月20日 11:51
0 0

恩,用ConcurrencyMap吧,用List的话,每次找个东西都要遍历,而且还要加同步锁,会疯掉的。

2008年9月20日 14:36
0 0

用个内存数据库做中介?

2008年9月19日 18:29
0 0

用数组,其实数据库加个index也挺快的

2008年9月19日 18:29
0 0

用Commons Collections里的数据结构,高效的并发包都是用里面的类写的,另外靠率不用list,用tree

2008年9月19日 18:29
0 0

一万条数据不算很多吧,效率应该不会有太大的影响。

2008年9月19日 18:29

相关推荐

    c标签遍历集合嵌套的List集合

    接着,我们通过查询数据库获取了一组`ProductAttributeMetaEntity`对象,并将其转换为所需的`List<ProductProperty>`形式。最后,将该列表存入`model`中。 在JSP页面中遍历该嵌套List: ```jsp ${ppList}" var=...

    C# 集合对象遍历性能测试

    遍历List的时间复杂度与ArrayList相同,都是O(n),但由于类型安全,List通常被视为更优的选择。 最后,`DataSet`是.NET中用于存储和操作关系数据的复杂对象,它包含了多个DataTable。DataSet设计用于处理大量数据库...

    MFC连接SqlServer数据库,并将查询的数据显示到listCtrl控件上

    在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库来连接SQL Server数据库,并将查询结果展示在List Control(listCtrl)控件上。MFC是Microsoft为Windows应用程序开发提供的一种C++类库,它...

    关于checkboxlist的绑定和遍历checkboxlist

    CheckBoxList的数据源可以是数组、列表、数据库查询结果等,通过DataSource属性设置数据源,然后调用DataBind()方法将数据绑定到控件上。例如,如果你有一个ArrayList存储了选项的ID和文本,可以这样绑定: ```...

    遍历CheckBoxList,获得选中项的值动态绑定CheckBoxList代码

    ### 遍历CheckBoxList,获得选中项的值动态绑定CheckBoxList #### 知识点一:CheckBoxList概述及应用场景 **CheckBoxList** 是ASP.NET Web Forms中一个非常有用的控件,它允许用户选择一个或多个选项。CheckBoxList...

    从数据库得到的结果集存放到List集合中

    本文将详细讲解如何从数据库获取结果集并将其存储到List集合中,这一过程通常涉及到数据库连接、SQL查询、结果集处理以及Java集合的使用。 首先,我们需要建立数据库连接。在Java中,我们常用JDBC(Java Database ...

    C#数组遍历

    3. **Linq查询遍历** 如果你熟悉C#的LINQ(Language Integrated Query),也可以使用扩展方法`Select()`和`ToList()`遍历数组。 ```csharp foreach (int number in numbers.Select(n => n)) { Console.WriteLine...

    在ASP.NET中查询数据库中的数据.rar

    这是应用程序与数据库之间的桥梁,它封装了所有数据库查询和操作。可以使用ADO.NET,Entity Framework或其他ORM(对象关系映射)工具来构建DAL。ADO.NET提供了一组类,可以直接与数据库进行通信,而Entity Framework...

    (补充)操作数据库的几种方法_配合girdview使用遍历数据

    本篇将详细讲解几种操作数据库的方法,并结合GridView控件来实现数据的遍历。 1. **ADO.NET操作数据库** ADO.NET是.NET Framework提供的基础数据访问组件,它提供了与多种数据库(如SQL Server、Oracle等)交互的...

    用list 来模拟数据库资料存取简单例子

    3. **查询记录**:查询数据库中的特定记录,可以通过遍历列表并检查每个元素是否匹配条件来实现。例如,查找所有年龄为30的人: ```python for person in database: if person[2] == 30: print(person) ``` 4. **...

    ASP.NET 中Checkboxlist添加到数据库代码案例

    ### ASP.NET 中 Checkboxlist 添加到数据库代码案例解析 在 ASP.NET 开发中,处理用户界面与后端数据交互是一项常见的任务。本篇文章将基于提供的代码片段来深入探讨如何在 ASP.NET Web 应用程序中使用 CheckBox...

    Java数据库查询结果的输出

    ### Java数据库查询结果的输出详解 #### 概述 本文主要介绍了如何利用Java技术结合Swing组件中的`JTable`来展示数据库查询的结果,并详细解释了`Vector`、`JTable`以及`AbstractTableModel`这三个类的应用场景及其...

    将list数据通过LitePal保存到本地

    4. **保存list数据**:遍历list,调用每个对象的`save()`方法,LitePal会自动处理插入操作。如果需要批量保存,可以使用`LitePal.saveAll(list)`方法。 5. **查询数据**:当需要从数据库读取数据时,可以使用`...

    list转map,list转tree,减少数据库查询次数

    在处理大量数据时,通过将列表(list)转换为映射(map)或树形结构,可以提高数据检索的效率,减少数据库查询次数,从而优化程序性能。 1. **List转Map** 列表(List)是一种线性数据结构,它以顺序的方式存储...

    Jdk8都7岁了,你还在用for循环遍历list吗?3分钟学习一下Stream吧

    Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。 这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选,...

    thinkPHP5解决不同服务器不同数据库表关联查询问题

    可以使用`->paginate()`方法实现分页查询,然后通过`->each()`方法遍历每一条查询结果,进一步实现对另一张表的查询。 例如,从`user`表获取用户信息,并查询与之关联的`order`表中的订单信息: ```php $list =...

    python 数据库查询返回list或tuple实例

    在Python中进行数据库查询时,通常我们会使用一些数据库连接库,如MySQLdb(适用于MySQL)或pymysql。这些库提供了与数据库交互的方法,包括执行SQL语句、获取查询结果等。在处理查询结果时,返回的数据结构通常是...

    list_view打包存储oracle数据库

    1. **数据提取**:从`list_view`获取数据需要遍历组件中的每一项,通常涉及遍历控件的Item集合。在Delphi环境中,可以使用`for`循环,配合`TListView.Items[i]`来访问每个列表项,然后获取每个项的文本或者附加数据...

    从数据库添加数据到ListCtrl中AddData

    3. **数据填充ListCtrl**:在CRecordset对象打开并填充了数据后,遍历记录集。每次迭代,将一行数据的各个字段值添加到ListCtrl的相应列中。可以使用`InsertItem()`和`SetItemText()`方法向ListCtrl中插入新行并设置...

    .net中checkboxlist与数据库之间的简单操作

    .NET 中 CheckBoxList 与数据库之间的简单操作 在日常的 Web 开发中,我们经常需要使用 CheckBoxList 控件来让用户选择多个选项,并将这些选项保存到数据库中。在本篇文章中,我们将介绍如何使用 CheckBoxList 控件...

Global site tag (gtag.js) - Google Analytics