思源可以为块增加自定义标签,在运行时数据库是怎么实现的?
想法一:
新建很多很多的列,比如给一个块增加 subject=math 那就全局新建 subject 的列,这个块是 math,其他的都是 null
但是这样会造成大量的资源浪费啊
想法二
EAV 模型,即一个表储存普通的系统属性,另一个表储存 id-key-value 属性,比如:
block-id | key | value |
---|---|---|
1 | subject | math |
1 | subject | english |
但是这样还怎么支持嵌入块的 SQL 查询呢?
想法三 JSON 储存 + 虚拟列索引
问 qwen 回答的这个,看了半天没看懂。。
所以思源到底是怎么支持这个功能的呢?各位有什么别的想法吗?谢谢!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于