如何设计SQL 表格来提升查询非过往历史资料的效能?

个人正在写一个场地租借系统, 提前开放2周给人预约,
租借的过期纪录要保留起来作系统或规则改善研究,
可想像随营运时间, 历史资料会越来越多,
实际上, 使用者只会预约近2周的场地借用时段(每天有15个时段),
1年下来 52周, 只有2周要读取, 历史包袱 50 周,
2年下来 52x2=104周, 也是只有2周要读取, 历史包袱 102 周;
3年下来 52x3=156周, 也是只有2周要读取, 历史包袱 154 周;
N 年下来, 可想而知的历史包袱 (52N - 2) 周;
有率资料第1年结束, 占比剩 4% = (2/50 )
有率资料第4年结束, 占比剩不到 1% > (2 / 206),
何况不只一个场地项目, 光想到此就觉得糟糕了!

我有两个想法, 想问的问题是第2个想法:

我第1个想法,
我想像用 NewTable 专放2周内的资料, OldTable 专放过期资料;
写个Routine在凌晨时, 将资料从 NewTable 过期资料 搬到 OldTable.

我第2个想法, 只用1个Table,
但是多加一个 Flag 栏位, 栏位值 1 表示 New, 栏位值 0 表示 Old
虽然Flag 栏造成表格变更大,
但能对 SQL Server 是比较有效率查询!
这栏位属性要如何设置? 算是要 SQL Server 对 Flag 栏的做索引吗?


<<:  ISO 27001 资讯安全管理系统 【解析】(二十一)

>>:  LineBot 读取使用者档案格式

Day4 — 逻辑组合电路与序向逻辑电路

有了逻辑闸当作建构的基本要素之後,接下来要来探讨几个 CPU 的基本结构,我们需要让它们能够做基本运...

Day 26 : Tkinter实战,配合pillow制作简易的处理照片程序(下)

今天继续把上一篇文的程序做完,没看过的记得要去看喔! 图片转向 那再来就先来做转向的部分: from...

Day13 天气API小实作3

继续昨天~ 写完之後一定要task.resume!!!不然不会动作这个func 这段程序码是在写当我...

Visual studio 2019 OpenGL setup on windows 10

OpenGL有很多library,在建置环境之前,我们需要了解要下载什麽东西 这边我们选择了GLFW...

【Day 23】建立 EKS on Outpost 的前置作业

tags: 铁人赛 AWS Outposts EKS Kubernetes 简述 EKS 说明 Am...