好吧,我有一张拥有10年价值数据的表格,性能正在受到重创。我计划将旧数据转移到单独的历史数据表中。问题是我需要从第一个表中选择,如果它在那里,第二个表如果没有。我不想做一个连接,因为那样它总是会在第二张桌子上查找。帮帮我?数据仓库的变化很小
0
A
回答
1
如果您仍然需要查询数据,我决不会将它移动到另一个表中。现在桌子有多大?什么是索引?你有没有考虑过分配桌子?
如果您必须移动到另一个表,您可以使用if语句在存储的特效库中查询。首先查询主表,然后如果rowcount = 0查询另一个表。对于不在主表中的记录来说速度会更慢,但如果它们在那里的话应该保持快速。但是,它不知道你什么时候需要记录。
的代码示例来做到这一点:
CREATE PROC myproc (@test INT)
AS
SELECT field1, field2 from table1field1, field2 from table1
IF @@rowcount = 0
BEGIN
SELECT field1, field2 FROM table2 field1, field2 from table1
END
但真正的partioning和索引正确是probaly您的最佳选择。还优化现有的查询。如果您正在使用已知性能较差的技术,例如游标,相关子查询,调用视图的视图,标量函数,不可调整的where子句等,只修复查询可能意味着您不必进行归档。
有时候,购买更好的服务器也会有帮助。
+0
原谅我对这部分的无知,我已经使用存储过程进行更新等,但从未从一个选择。语法怎么看? – 2011-02-22 22:05:28
1
而不是使用一个单独的历史表,您可能需要考虑通过日期的某个函数(年或许?)对表进行分区以提高性能。
相关问题
- 1. 吨-SQL测试数据仓库的2型变化
- 2. 数据仓库每小时报告
- 3. 并行数据仓库 - 脚本化数据库
- 4. 变化Git仓库的拉码
- 5. SQL数据仓库
- 6. 数据仓库 - OLTP
- 7. TortoiseGit克隆SVN仓库 - 拉新变化
- 8. sqlpackage.exe很慢部署小型数据库
- 9. 数据库表vs vs/yml属性值很少变化
- 10. 数据仓库教程
- 11. 数据仓库和OLAP,ROLAP
- 12. 春数据仓库Implenation
- 13. 算法在数据仓库
- 14. ASP.NET MVC数据仓库
- 15. 直方图数据仓库
- 16. 搜索春数据仓库
- 17. 休眠和数据仓库
- 18. 数据仓库设计
- 19. 什么是数据仓库?
- 20. 创建数据仓库
- 21. 数据仓库和Django
- 22. ASP.NET MVC数据仓库
- 23. 白痴的数据仓库/数据库/数据湖泊
- 24. 数据仓库的SQL Server tempDB的大小
- 25. 数据库查询时间比例如何随数据库大小变化?
- 26. 如何管理数据的小变化?
- 27. Rails的最小化数据库装载
- 28. 模拟仓库与真实仓库/模拟数据
- 29. 减少Git仓库大小
- 30. 从数据仓库获取数据到关系型数据库
您不能根据标识字段进行迁移或创建日期吗? – Oded 2011-02-22 21:54:27
10年的数据:有多少行,这些索引表现如何?统计更新? – 2011-02-22 21:57:48
@Oded - 请详细说明,我计划每周执行一次流程,并将符合特定条件的行移至历史记录表。我希望的是说:“SELECT * from currentdata,如果0 rows select * from olderdata” – 2011-02-22 21:58:38