问题标签 [lookup-tables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
160 浏览

database-design - 为查找表建模系统对象

我正在创建对象查找表,但不确定究竟要调用什么对象。这是一个社交网络。我知道照片、视频、状态等项目都是对象,但帐户设置、邮件文件夹、邮件附件、错误消息等呢?像“标签”这样的东西是一个对象本身还是只有当我们将它与照片标签、视频标签、人物标签等结合起来时?

我们是否使用系统对所有对象进行 1 对 1 建模,或者有父对象和子对象用于查找目的?

0 投票
1 回答
175 浏览

c# - 存储数据库 ID 和查找名称的更好方法

我目前在我的代码中的静态变量中存储了一个包含相关信息的测试列表,包括数据库 ID。这是一个例子:

然后这些用于通过其他静态属性获取方法创建测试组:

我现在遇到的问题是基本上没有办法查找特定 ID 的 MyopathologyTest。一种解决方案是创建一个字典并手动将所有这些测试插入到字典中,并以 ID 作为键。这似乎重复了很多代码。

实现这样的事情的正确方法是什么?我想我需要将测试数据外部化,在运行时加载测试并动态生成正确的查找表和组。这是我应该考虑的正确方法还是有更好的方法?

0 投票
3 回答
317 浏览

database-design - 设计查找值

我想知道您的开发商店或项目中用于处理查找值的协议是什么,例如世界各国或美利坚合众国的州。

我已经看到它以两种不同的方式完成:在我工作的一个地方,我们的查找都存储在带有前缀“L_”的数据库表中,并具有以下列:id、code、desc、ordersequence。因此,例如,对于世界各国,我们将有一个如下表格:

最近,我看到了一个将查找烘焙到枚举中的示例,例如:

如果这些来自数据库表,则有一个实用程序可以为枚举生成 C# 代码。否则,有人只是花时间使用值不可能更改的假设对所有条目进行硬编码。对于枚举中的数值,如果存在,则根据数据库中相应查找表中的 ID 列进行硬编码,或者仅根据从 1 开始的条目进行硬编码。

无可否认,我赞成前一种方法的论点是,它非常灵活,可以选择使用代码或完整描述、操纵顺序和进行更改而无需重新编译。尽管从它们生成代码的选项是可能的,但一个很大的优势是它们在降级到数据库时仍然是真正的“查找”。最后,它们的使用方式很灵活:作为 Dictionary 集合中的值或使用服务器端代码生成 ASP.NET ListItems 或 html 组合框元素。

我听到的关于后者的论点是值不会改变,并且即使它们在应用程序级别缓存,也必须从数据库中检索查找值存在开销。通过对它们进行硬编码或生成枚举,它们可以在没有数据库检索的情况下使用。

我的问题如下:

  1. 哪个选项对您更有意义,或者,如果您的答案是“视情况而定”,您能否给出硬编码枚举优于跨整个应用程序的数据库查找的场景?

  2. 您还见过其他处理查找的优雅解决方案吗?我曾在一个应用程序中工作,其中所有查找都有一个表(它包括一个“查找名称”列)作为示例。您的替代方法与上述两种方法相比如何?

0 投票
2 回答
853 浏览

c++ - LUT 等的 L1/L2 缓存行为是什么?

假设 LUT 是 512KB 的 64 位双精度类型。一般来说,CPU是如何缓存L1或L2中的结构的呢?

例如:我访问中间元素,它是否尝试缓存整个 LUT 或只是其中的一部分 - 比如说中间元素,然后是 n 个后续元素?

CPU 使用什么样的算法来确定它在 L2 缓存中保存的内容?它是否遵循某种前瞻性策略

注意:我假设 x86,但我有兴趣了解其他架构如何工作 POWER、SPARC 等。

0 投票
2 回答
6387 浏览

sharepoint - 使用 SP 列表中的查找字段将访问中的查询附加到链接的 SharePoint 列表中

我正在尝试将 MS Access 表(我使用 Access 2010,但如果需要可以使用 2007)中的记录附加到链接的 SharePoint 列表中。

有一个附件字段(从 Access 查看时),但我不关心附加这些。

SharePoint 列表有几个查找字段,在设计视图中是数字格式。升级到 SQL Server,我可以确认它们是数字(并且我假设相关 SharePoint 列表对象的 Id)。

我复制了 SharePoint 列表的结构并粘贴到 MS Access 表中,然后填写了一些示例记录

我使用查询向导选择了 Access 表的所有字段(减去 Access 表的自动编号 ID 和附件),单击“追加”,然后选择 SharePoint 列表。

如果我运行此查询,我会收到由于验证违规原因而未附加 X 记录的错误,这就是所有这些错误。我检查了所有字段定义,没有一个被定义为必需或具有验证约束。

我唯一能想到的是查找字段存在一些问题,但是我检查过的每个数字 ID 都是有效的 ID。

我希望有一个 MS Access 解决方案,但如果唯一的方法是以编程方式进行,有人可以向我发送有关如何开始使用 SharePoint 3.0 SDK 的指导吗?

感谢您的时间。

0 投票
4 回答
665 浏览

python - Python中不可散列的查找表

我需要创建一个从我自己的自定义类(从 dict 派生)的对象到另一个自定义类的对象的映射。在我看来,有两种方法可以做到这一点:

  1. 我可以使对象可散列。我不确定我会怎么做。我知道我可以实现__hash__(),但我不确定如何实际计算哈希(应该是一个整数)。

  2. 由于可以比较我的对象,我可以创建一个列表 [(myobj, myotherobj)],然后实现查找查找元组中第一项与查找键相同的元组。实现这一点很简单(对象的数量很少),但如果标准库中已经存在类似的东西,我想避免重新发明轮子。

在我看来,想要查找 unhashables 将是一个常见问题,所以我假设有人已经解决了这个问题。关于如何__hash()__为类似dict的对象实现的任何建议,或者是否有其他一些标准方法来制作不可散列的查找表?

0 投票
3 回答
5149 浏览

php - 根据php中的键查找值的有效方法

使用大约 100,000 个键/值对的列表(两个字符串,每个大约 5-20 个字符),我正在寻找一种方法来有效地找到给定键的值。

这需要在 php 网站中完成。我熟悉 java 中的哈希表(如果在 java 中工作,这可能是我会做的),但对 php 很陌生。

我正在寻找有关如何存储此列表(在文本文件中还是在数据库中?)并搜索此列表的提示。

该列表必须偶尔更新,但我最感兴趣的是查找时间。

0 投票
2 回答
372 浏览

sql - 使用正则表达式模式的查找表

我最近遇到了一个建议,将我们的应用程序代码库中使用的正则表达式模式汇集到一个查找表中,并从那里检索,而不是在程序逻辑中显式硬编码。

任何人都可以分享任何关于这个智慧的想法吗?

我最初的想法是,它使模式更容易改变,这既有优点也有缺点。但是,从根本上说,我将正则表达式字符串本身视为(有效)执行的逻辑实体,因此将它们存储在查找表中只会让我感到有点不安。

有人想吗?

谢谢

0 投票
1 回答
628 浏览

directx - 将颜色查找表与 Win32 DIB 一起使用的正确方法是什么?

我正在编写一些代码来对 16 位 DICOM 图像(作为 16 位 DIB 加载到内存中)执行窗口调平。我的窗口调平代码是完整的,并且通过生成查找表将源像素值映射到所需的最终像素值来工作。

我不确定如何将此查找表应用于图像。我看到 BITMAPINFO 对象上有一个字段“bmiColors”,类型为 RGBQUAD[]。我已经尝试将我的查找表分配给这个属性,但它似乎没有效果。我也尝试过 SetDIBColorTable 函数,但它似乎也对屏幕输出没有任何影响。

我正在尝试做的事情(在绘画时应用我的查找表,而不是修改像素数据本身)甚至在 GDI 中得到支持,还是实际上应该循环遍历像素数据本身,然后在 blitting 之前一一改变像素值?

我是否使用 BitBlt 或 SetDIBitsToDevice 函数似乎也没有什么不同。他们都倾向于在这里表现相同。

如果这样更容易实现我想要的,我愿意使用 DirectX。我以前没有使用过它,所以如果提供示例代码作为答案会很好。

我的代码对性能非常关键,所以我正在寻找实现这一目标的最快方法,即使它可能涉及更多的工作/代码。

0 投票
3 回答
110 浏览

mysql - mySQL查询问题

我有来自客户购物车的ORDERS表。这是典型的客户姓名、地址等字段列表。不同之处在于,当客户输入与账单信息不同的运输信息时,购物车会将运输信息填充到适当的字段(shipName、shipAddress、ShipState 等)中。但是,当客户自己发货时,购物车不会将发货信息移动到合适的发货字段(即shipName、shipAddress、shipState)。它将这些信息保存在 ordName、ordAddress、ordCity 等字段中,然后将运输相关字段保持为空。

因此,对于客户自己发货的订单,这些发货字段为空。当没有提供运输信息时,我使用 IF 命令将 ordName、ordAddr 等移动到别名,以便处理所有订单类型的运输信息(无论是客户发货到自己还是其他地址)。这部分在我下面的查询中运行良好。

一个问题仍然存在。我的运输计划不能使用长州名(例如,密歇根州、纽约州等)。它需要状态是两个字符的缩写(例如,MI,NY)。我有一个名为 * STATES的查找表,它具有长状态名称和两个字符缩写之间的映射。我正在尝试使用 ShipState 别名来查找给定状态的正确两个字符名称。我尝试将其作为 JOIN 执行,但不断出现错误。我删除了我正在使用的连接,只显示了现在可以正常工作的代码,但没有为状态缩写进行映射。有人可以帮忙吗?