如何在 tarantool 中将乙烯基转换为 memtx?

How to convert vinyl to memtx in tarantool?

我在 vinyl 引擎(磁盘)中创建了一个 table,如何将其转换为 memtx 引擎(内存)?

我有一些小的 table 如果它转换为 memtx 会更好:

WITH x AS ( -- big table that wont fit in memory 
  SELECT cat_id, click_count FROM bla WHERE user_id = ?
), mx AS (
  SELECT MAX(click_count) max_click FROM x
)
SELECT IFNULL(x.click_count,0)/IFNULL((SELECT max_click FROM mx),1) 
  , listings.*
FROM listings -- a small table less than 100k records which better in memory
  LEFT JOIN x 
    ON listings.cat_id = x.cat_id
ORDER BY 1 DESC
LIMIT 10

但是目前listingstable是vinyltable,如何转换成memtx? 试图在documentation中找到,除了create中与引擎相关的create之外没有其他方法。

如果有办法重命名旧的 table,请使用适当的引擎创建一个新的 space,从旧的 table 插入,然后删除旧的 table。

您可以 dump/restore 和 tarantool/dump

或者你可以遍历整个space并逐行复制

或者使用更改后的引擎创建副本