我正在开发一个多线程 .NET 4 应用程序,它连续获取数据并将它们写入 SQL 数据库(MySQL 或 SQL Server - 尚不确定)。
每次INSERT
执行 a 时,至少需要一个先验SELECT
才能与数据库同步。这意味着应用程序获得一个包含新旧数据的块,然后必须检查哪些数据集是新的,哪些已经在数据库中。
这意味着其中的很多SELECTS
结果每次都会产生或多或少相同的数据。
在应用程序中保存每个表的最后 x 个条目的副本是个好主意吗?这样可以在副本而不是数据库上进行同步。
临:
- 快点
反对:
- 占用大量内存
- 与数据库不同步的风险
你怎么看?这种用例的最佳实践是什么?还有其他优点和缺点吗?