我正在使用cassandra并在查询自动删除行时使用ttl(生存时间)。我的问题是,TTL会影响性能吗?
答案 0 :(得分:1)
不,它不会以可衡量的方式影响性能。
答案 1 :(得分:0)
通常使用CREATE TABLE #vals (val NVARCHAR(10));
INSERT INTO #vals
(
val
)
VALUES
(N'2.012,5'),
(N'2,012.5');
SELECT CAST(CASE
-- is there a '.' in a position before a ','?
WHEN CHARINDEX('.', val) < CHARINDEX(',', val) THEN
-- yes - remove the '.' and replace the ',' with '.'
REPLACE(REPLACE(val, '.', ''), ',', '.')
ELSE
-- no - just remove the ','
REPLACE(v.val, ',', '')
END AS FLOAT)
FROM #vals AS v;
DROP TABLE #vals;
对CQL查询的性能(即响应时间)几乎没有差别。
但是,在插入或更新记录时使用可选的TTL
值需要额外的存储空间而不是TTL
的相同记录。如果/当您创建具有长TTL周期的许多记录时,这可能变得相关。
您可以在此处详细了解如何估算存储在Cassandra中的记录大小: