我知道我在某个地方读到使用函数作为连接例如年(日期)在另一个具有年份的表上进行连接并不是最好的连接方式.
我基本上有一个表格,其中年份字段的值为2016,另一个表格的实际日期类似于01/01/2016,我使用年份(日期)进行连接.
例如,2016年创建一个字段通常会在财务期开始,以便开始日期为2016年4月1日和结束日期31/03/2016并使用这些字段进行连接.但是想知道在加入方面会是什么样子?或者我是否应继续使用我的方法将01/01/2016转换为使用year()函数的年份?
您可以做的一件事是定义一个计算列,然后在其上创建一个索引:
alter table t add start_year as (year(start_date));
create index idx_t_??_start_year on t(??, start_year);
Run Code Online (Sandbox Code Playgroud)
旨在??成为一个或多个其他列。仅 on 的索引start_year选择性不高,因此 SQL Server 可能不会使用它。
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |