【发布时间】:2011-03-30 14:24:29
【问题描述】:
我有一个分析数据库,我可以在其中进行复杂的查询。这些查询中的每一个都会生成数千行。我想将这些结果存储在某种磁盘缓存中,以便稍后获得结果。我无法将结果插入到结果来源的数据库中,因为该数据库是只读的。这个缓存的要求是。
- 插入行非常快。 MySQL 不是初学者。
- 快速过滤和排序结果
- 不需要多表连接
- 没有交易
我很想知道任何可以帮助解决此问题的 SQL 或 NoSQL 解决方案。
【问题讨论】:
-
MySQL 有不同的引擎类型 - 内存会很快,但如果系统关闭 IIRC,则不会持久化。
-
您是否尝试过 MySQL 的 LOAD DATA INFILE 语句或多行版本的 INSERT?它们都比每行使用一个 INSERT 快得多。
-
SQLite3 你应该看看。 /尤达
-
我实际上使用的是 MySQL 多行版本的插入,但我遇到了一个问题,即我可以绑定到查询的变量数量有限制。我想我可以避免绑定并生成纯 SQL 并创建更大的查询。
-
你在哪里遇到这个限制(在编程语言中?),你绑定了多少变量?我的“正常化”感觉很刺痛。
标签: sql database caching indexing nosql