如何访问个人“栏”取自元素?

有什么办法来检索从ETS表和存取权限的元素,比如第1列,不插入对象插入到ETS作为一个记录?

我见过类似的语法,唯一的地方,是指每一列与匹配参数“$ 1”。

--------------解决方案-------------

假设你有以下几点:

1> ets:new(people, [set, named_table]).
2> ets:insert(people, {silvio, italy, joker}).
3> ets:insert(people, {roberto, italy, employee}).

(请注意我添加一个通用的元组表 - 记录是一个简单的元组,其中第一个元素是记录自己的名字和你有一些语法糖来访问记录“元素 - )

你可以做下面的“匹配”的操作:

4> ets:match(people, {'$1', 'italy', '_'}).

意思是:

搭配了三列,其中第二个元素是原子'意大利'的所有条目。 丢弃的第三个参数,因为我只关心到第一个。

这将返回:

[[silvio],[roberto]]

或者,您可以执行以下'选择'的操作:

5> ets:select(people, [{{'$1', '$2', '$3'},
[{'==', '$2', italy}],
[['$3']]}]).

意思是:

选择上进行了三次“列”,其中第二个元素是等于'意大利'的所有条目,只返回第三个元素。

在你的情况,这将返回:

[[joker],[employee]]

裸记住,匹配操作,真正做到高效,已实施了内建函数,所以在执行他们将停止其他进程。 这意味着,对于大的表,你应该看看其他的机制,如“穿越一个ETS表”。

希望这可以帮助。

ETS:lookup_element是用于检索单个列(相对于检索与ETS的整个记录:查找 )非常有效,特别是如果你在表长记录(元组)。

编辑:如果你希望在不必重新插入整个元组更新记录的某列,可以使用ETS:UPDATE_ELEMENT / 3。 (其实这个问题可能只是这件事,它不是完全清楚给我。总之,现在这两种情况都回答:))

此外,如果更新是大约递增计数器,使用ETS:update_counter / 3。 这是原子的,所以你不必做查找增量更新(非原子)序列。

分类:数据库 时间:2012-01-01 人气:0
本文关键词: 数据库,分布式
分享到:

相关文章

  • 对于具有尽可能最解耦的方式与关系型数据库分布式进程交互的Python的解决方案? 2012-03-18

    比方说,我有Python的机器2.机器1和Python过程2工艺1这两个过程是由一个负载平衡器发出同样和处理数据. 这两个进程需要与数据库交互 - 在我的情况的Postgres因此每个过程需要知道它应该与什么样的数据库,它需要在每台计算机等它太紧密耦合右侧车型. 理想的做法是有一个单独的进程与数据库打交道的东西,如连接,紧跟DB模式的转变,要求对数据库等什么我的过程1和2的过程应该做的是只是说我有一个需要一些JSON数据保存或更新此表或我需要JSON格式此数据. 也许我要求不​​可能的,但是没有

  • WCF在几个服务器和一个数据库分布式事务 2012-05-22

    有两个服务器都运行在WCF一些服务. 所有的服务都与一个共享的数据库工作. 所有的服务使用传输带的net.tcp允许交易流程 问题出现后,我们开始使用的TransactionScope:第一种方法成功地创建了用户第二个成功获取他的个人资料 但是第三个方法失败,错误用户数据库中找不到 using(TransactionScope scope = new TransactionScope()) { long employeeId = serviceOnServerA.CreateEmployee(p

  • Java的分布式数据库中的数据共享 2012-02-05

    我想应用程序共享某些数据库的数据. 我想要一个应用程序来检索和显示由另一个应用程序产生的某些数据表视图. 你知道的,我可以用这样的分布式解决方案的任何开源技术? --------------解决方案------------- 这听起来像你只需要一个开源关系数据库(其中有一个编号,如MySQL和Postgres的,德比,火鸟等)和配套的JDBC驱动程序.

  • 的Java EE / EJB VS春与多个数据库集群的分布式事务管理 2012-02-10

    我有能力生产的原型(与MySQL一个J2EE兼容的应用服务器上运行)演示下列要求 展示给分布于位于不同地点的全球多个数据库事务处理能力(应用程序管理的数据复制) 展示给一个事务从多个位于多个地点数据库集群的选择写入数据库的能力. 来写哪个数据库的选择,以基于用户位置. (数据库管理的数据复制) 我要选择无论是弹簧组或Java EE堆栈(EJB等)的选项. 这将是了解你的意见,以这堆在多个数据库集群支持分布式事务更好有用的. 如果可能的话,你能不能也请点我给你认为会是学习如何实现上述使用这两种堆有

  • 我必须,如果我想要一个分布式的多主数据库有什么选择呢? 2012-04-20

    我将建立,我想,以减少单点的,失败的系统,我需要一个数据库. 是否有任何(免费),关系型数据库系统,可以处理多主机设置好(即在这里很容易的添加和删除节点),或者是更好的去同一个的NoSQL数据库? 正如我所理解的那样,key-value存储会处理这更好的. 你推荐的多主(群)设置什么数据库系统? --------------解决方案------------- MySQL的NDB集群将做到这一点. 但它远非容易建立,有很多陷阱的. 而且,它的性能一般是相当苏茨基,是它让数据在内存中(是的,我知道他

  • 这是一个分布式数据库的例子吗? 2012-04-25

    如果在现场阿尔法创造了一个分贝"A",那么也架构在这两个复制的现场测试还是数据是一样的,而且必须是同步的,是一个分布式数据库或会是错的? 如果不是,为什么不分配? 它所需要也被称为分布式? 相同的模式不同的数据? 要么...? --------------解决方案------------- 都不是. 它不是一个分布式数据库,它是没有错的. 它是一个数据库的副本. 真正的问题是如何保持同步.

  • 分布式数据库同步 2012-04-28

    我试图在概念层面,如何当他们在很大程度上是分布式数据库同步理解. 例如,一个铁路/航空订票系统. 做每一个市场的领导者都有自己的专有的解决方案来处理这种情况? 他们都是在当地存在,每一笔交易是对主副本检查? 我曾与工作失败了个数据库本地存在,即主从场景,在接管时,其他的失败; 但怎么都需要实时交易能力数据库同步? --------------解决方案------------- 维基百科对航空公司订座系统的好文章. 不少引用. 分布式应用程序的大量不需要是100%一致的所有的时间. 下面是关于这个

  • 甲骨文分布式数据库和MSVC 2012-06-14

    我使用Visual Studio 2008的C#和SQL为我的发展. 甲骨文版本的,我应该下载? Oracle 10g的? 它有一个设计界面如SQL Server管理CHINESE工作室? 请问这种分配的概念有一个图形化的工具,说:"嗨,在其上的服务器你想的分布式数据库,并依据是什么"? 使用本地应用程序,当我连接到其服务器,并尝试进入或删除数据不是该服务器上,将在Oracle数据库管理系统,透明地访问其他的服务器来获取或插入数据? 或者,它会产生一个错误? -------------

  • 如何绘制两个不同的方法可行的查询树的例子吗? 在分布式数据库管理系统 2012-06-20

    select topic from book b, share s, stall st where bb#=sb# and st.store#=s.store# 喜的朋友,我想提请查询树我不知道怎么画的查询树上面的例子. 你能帮助我吗? 提前致谢 --------------解决方案------------- 如果这是一个分布式数据库,你首先要知道你的数据库是如何分布才能画出查询树是IE浏览器. 垂直(列)和水平(值)分布

  • 是分布式事务用于实现数据库升级回滚Windows安装程序自定义操作是一个好主意? 2012-10-17

    我已经穿不下的维克斯可用SQL服务器的自定义操作,所以我考虑创建我自己的使用部署工具基金会的大胆的一步. 我想成为一个好公民,并确保我的支持回滚. 但是,什么是做的最好的方法是什么? 我需要支持的SQL Server 2005及更高版本,所有版本. 这个问题,在我看来,是Windows Installer的工作分两个阶段进行:它的工作,存储还原信息,因为它去. 然后,当所有的作品都很到位,要么提交(删除撤消信息)或执行回退. 这意味着,标准交易不会做的工作. 他们将不得不执行我的自定义操作内完成

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.178 (s). 10 q(s)