问题标签 [in-memory-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 投票
0 回答
631 浏览

sql-server - 创建 SQL 内存表 Visual Studio

我正在尝试设置一个 SQL 数据库项目(使用 Visual Studio 2017)。

我希望它创建一个可以在 SQL Server 或 Azure SQL 上运行的 dacpac,将通过一次发布从头开始创建一个数据库。

但是,我遇到了几个问题:

  • 如果没有现有的数据库(和表),我无法创建内存优化表。运行此(SQL Server)时:

    /li>

它给了我这个:

但是,如果我先发布一个磁盘表,那么上面的 SQL 就可以正常工作。

我尝试使用预部署脚本来创建磁盘表模式,它发布磁盘表,并在尝试发布实际内存优化表模式时失败。

我使用的示例数据库来自:Ticket-reservations

任何想法或建议将不胜感激。

0 投票
0 回答
66 浏览

sql-server - MS SQL Server 2016 内存中 OLTP

我想将单个表迁移到内存中,我按照以下步骤操作:

  1. 右键单击表格
  2. 选择“内存优化顾问”
  3. 按照向导步骤直到最后一步,然后单击“迁移”
  4. 迁移过程未完成并出现以下错误

在此处输入图像描述

0 投票
0 回答
232 浏览

sql-server - 比较内存与磁盘表的 SQL Server 性能

我想检测将表迁移为内存表后的性能改进。

有什么方法/工具可以帮助我做到这一点吗?

0 投票
1 回答
181 浏览

asp.net-web-api2 - 使用 Web API TransactionScope 和 SQL Server 内存表问题

每当我通过 Web API 访问具有内存表的存储过程时,都会TransactionScope收到此错误:

当前事务无法提交,也无法支持写入日志文件的操作。回滚事务。当前事务无法提交,也无法支持写入日志文件的操作。回滚事务。当前事务无法提交,也无法支持写入日志文件的操作。回滚事务。在批处理结束时检测到不可提交的事务。事务回滚

我曾尝试直接在 SQL Server Management Studio 中执行相同的存储过程,并且运行良好。

此外,当我TransactionScope从 Web API 中删除时,它也可以正常工作。但我想TransactionScope在 Web API中使用

在存储过程中,我有以下内容:

在 Web API 内部按照我正在使用存储过程的方式

0 投票
1 回答
425 浏览

oracle12c - 为什么即使在扫描后 TABLE 也不在 V$IM_SEGMENTS 中填充?

所以我在内存中添加了一个表,然后扫描了这个表。但它仍然没有出现在 V$IM_SEGMENTS 中。在解释计划中,它显示内存访问已满。所以不确定它是否正在使用列存储。

做了这些:

更改表内存;选择 * 从 ;

从 V$IM_SEGMENTS 中选择 *;

没有行

0 投票
0 回答
120 浏览

sql-server - 查询使用内存表和/或聚集列存储索引返回错误数据

这天我有一个非常奇怪的行为。我正在尝试使用 SQL Server (2017) 内存表和列存储索引。但是在创建了一个非常小的数据库(只有 2 个表),里面的数据非常少之后,我注意到我的一个查询返回了错误的数据。

一些背景:

第一个表 [Attribute]包含一些分层数据(Id、ParentId)。该表有一个触发器,它计算嵌套集模型的一些列。

基于此,我创建了一个视图 [vw_Attribute_Hierarchy],它返回所有属性及其子节点的列表。我想用它来总结每个分层节点的数据(因此包括子值)。

第二个表 [FactImpacts] 仅包含一些要在列 [PlanValue] 和 [ActualValue] 上汇总的数据。

我试图创建一个仅包含所需列/数据的架构。但似乎查询结果取决于给定的数据集。

这是目前我最小的脚本(请在 SQL CMD 模式下执行)来重现我的问题,它应该返回两个结果,每行包含三行,但我只得到一个用于第一个查询和三个用于第二个查询。

用于创建数据库和一些内容的脚本:

以下两个查询应始终返回相同的结果:

奇怪的是,如果您进行以下更改之一,两个查询总是返回相同的正确数据:

1) 我为最后两个 SELECT 语句切换了 INNER JOIN 中的表。如果 [FactImpact] 在第二位,则结果是正确的。

2) 删除 [FactImpacts] 上的 In-Memory 选项

3) 删除 [FactImpacts] 上的聚集列存储索引

4)减少或增加[FactImpacts]中的数据量

5)在表[属性]上再添加一个索引

我希望你能听从我的解释!

我能够在 SQL Server 2016 / 2017 中本地重现这种奇怪的行为。

0 投票
1 回答
174 浏览

sql-server - 内存优化表事务提交依赖性问题

我正在使用 SQL Server 2016,并处理大量由一个父 sproc 调用的 sproc。所有的存储过程除了读取返回一个结果集外什么都不做。我已经确认所有必要的对象都在缓存中,并且没有发生物理读取。所有读取都是在没有表扫描的索引上完成的。这个过程曾经到处都有临时表。为了帮助加快此过程,我已将所有临时表替换为仅具有模式持久性的内存优化表。之后,在负载下,我看到这个被 web api 记录了很多。

Transaction exceeded the maximum number of commit dependencies and the last statement was aborted. Retry the statement. The statement has been terminated.

没有一个存储过程使用事务。我已经对它进行了一些谷歌搜索,但我仍在努力处理该消息。

0 投票
2 回答
296 浏览

postgresql - 内存中的 PostgreSQL 用户定义表类型

如果有几个存储过程(PG 中的函数)需要在它们之间传递一个中间结果集(最多 1K 行)

我可以在其他 DBMS 中执行此操作,但想知道如何在本机 PostgreSQL 中完成此操作。

PG具体支持:

我们也可以完全在内存中做到这一点吗?

我想在几个 procs 之间传递一个“MyTable”作为输入和输出。

或者我可以构建这个结果集并将其作为 JSONB 参数传递吗?

无论它是如何完成的,我都需要它非常快。

0 投票
1 回答
48 浏览

sql-server - 查询内存表

SQL Server 允许您创建内存表。但是你如何插入操作呢?

例如,我使用这段代码来创建我的类型:

然后,我尝试这样做:

我知道结构匹配(_DelimetedFileSpec没有索引 fpos,但除此之外没有区别)。

我得到:'@T' 附近的语法不正确。

另外,为了检查没有其他错误,我确认以下工作正常:

是否可以像这样以某种方式直接插入内存表?

0 投票
1 回答
291 浏览

sql-server - 具有大量数据的 SQL Server In-Memory 表用例

我有 160+ 百万条记录的 SQL Server 表,这些记录具有来自 UI、批处理作业等的连续 CRUD 操作,基本上来自多个来源

目前我已经在列上对表进行了分区,以便在表上获得更好的性能。

我遇到了 In-Memory 表,该表可用于频繁更新的表,并且如果从多个源发生更新,它不会加锁,而是会保持行版本控制,因此使用这种方法更好地进行并发更新。

那么在这种情况下我有什么选择呢?

分区表创建内存表

正如我所读到的,当表被分区时,SQL 服务器不支持内存表。

在这种情况下,内存表或分区表有什么更好的选择。