高效的运用MAP类实现“比较”的功能

原创 2013年12月04日 09:58:34

问题:A表有一个字段mm唯一确定一条数据而且也有字段cc有数据,B表也存在mm字段也有cc字段,但是没有数据,目的:希望将B表的cc字段和A表的cc字段同步

 

策略一:

查询B表的数据,逐一遍历每条数据,根据B表的mm字段连接到查询A表的mm字段,就知道A表的cc字段,然后将cc字段的值给B表的cc字段,然后更新数据库

 

策略二:

首先查询A表的所有数据,全部放在一个数组(或者链表)中,查询B表的数据,然后根据B表的mm值与数组一一比对,如果是一致就退出循环,然后给B表的cc字段赋值,更新数据库

 

策略三:

首先查询A表的所有数据,然后将查询的值存放在一个Map对象中map<mm,cc>按照这种格式存放数据,然后查询B表的数据,遍历B表的每个数据,判断map表中是否存在keymm的数据,如果存在则取出这个值给B

 

分析:

策略一:这种方式是最简单也是最麻烦的,因为每次都需要查询数据库,然后在经历两次循环,最后更新数据库,在“海量”数据中这种操作是致命的,可能会导致系统崩溃,不推荐使用这种方式

 

策略二:这种方式比第一种方式好很多,因为他减少了对数据库的查询,而且将查询的内容放在缓存中,然后循环比较,将查询到的结果同步到数据库B中,但是这里面却依然是含有两层循环,效率依然不高

 

策略三:这种方法跟第一种方法类似,第一次也是查询A表的所有数据,将查询的结果存放在HashMap中,然后查询B表的数据,逐一遍历每项数据,判断HashMap中是否存在keymm的值,如果有就将value赋给B表查询的对象,这样就只利用了一层循环,就能够找到结果赋给B表,效率更高

js实现map功能

  • 2017年03月17日 10:21
  • 1KB
  • 下载

js模仿java的Map集合,实现功能

  • 2014年03月21日 12:51
  • 5KB
  • 下载

Set,List, Map各自实现类的比较

接口 实现类 实现方式 特点 Set HashSet 链表的数组(哈希表) 1、HashSet类按照哈希算法来存取集合中的...

玩转nodeJS系列:使用原生API实现简单灵活高效的路由功能(支持nodeJs单机集群),nodeJS本就应该这样轻快

前言:使用nodeJS原生API实现快速灵活路由,方便与其他库/框架进行整合 1、API介绍及使用说明 1.1、在入口中引入eguidRoute路由模块 var eguid = require("...
  • eguid_1
  • eguid_1
  • 2016年10月13日 09:34
  • 1651

原生javascript+nodejs 配合worker实现高效快速的即时聊天室功能非websocket,无轮询请求

首先列出文件目录 index.js //nodejs启动文件 mime.js //MIME类型表 Routing.js //路由表 RL文件夹 RL/Coupons.js //路...

FBO和FBOA离线缓存对象方便高效实现累积缓存功能

FBO是一种索引机制。FBO本身并没有任何图像存储区,只有多个关联点。FBO重要应用操作纹理图像(texture images)和渲染缓存图像(renderbuffer images)。FBOA是FB...

UE4高级功能-初探超大无缝map的实现LevelStream

[摘要:UE4高等功效--初探超大无缝舆图的完成LevelStream 媒介 好吧,此次总结的照样UE4,正在那里要背CE3的同伙们讲一声丰,由于自己火品有限,对CE3的索求进修堕入了一个非] UE4...

c++中map容器简单功能实现测试附带结构体指针测试

// TestingandTobe.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using names...
  • ghevinn
  • ghevinn
  • 2012年08月20日 11:32
  • 1857

C实现键值对(Map功能)

kv.h代码如下: #define UT_BASE_NODE_T(TYPE) \ struct { \ TYPE *start; \ ...

JavaScript实现Map功能

JavaScript中没有类似Java中的Map集合类的实现,自己做了简单实现,如下: function Map() { this.elements = new Array(); this.si...
  • ale2012
  • ale2012
  • 2016年01月26日 10:59
  • 207
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:高效的运用MAP类实现“比较”的功能
举报原因:
原因补充:

(最多只允许输入30个字)