为高效查询语言实现select for update

时间:2015-10-06 04:50:45

标签: python mysql hypertable

我被要求在python中的HQL中实现select for update。我没有尝试任何东西,因为我不知道我将如何去做。 由于select for update在我们禁用自动提交之后获取行,并且通过实现对表中特定行的锁定直到我们提交并启用自动提交,在我看来有点怀疑在高效中实现。 我如何在Hypertable中锁定几行?

现在我有一张像

这样的表格
CREATE TABLE foo (
  c1,
  c2,
  ACCESS GROUP default (c1, c2)
);

select * from foo;
001 c1  a
001 c2  b

我仍然开始学习过度肥胖。

一些帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

Hypertable不支持事务,也没有任何锁定或读取 - 修改 - 写入操作。但是,如果您只是尝试实施简单更新,则只需在列上设置MAX_VERSIONS 1选项,如下所示:

CREATE TABLE foo (
  c1 MAX_VERSIONS 1,
  c2 MAX_VERSIONS 1,
  ACCESS GROUP default (c1, c2)
);

然后每次插入时,它将1)替换旧值,或者2)插入新值(如果它尚不存在)。