在沒有磁區表以前,為了減少單表的記錄數,我們將相同的表按照 年份 水平拆分到不同的表中,如銷售記錄表 Sales 拆分成類似這樣
Sales_2020,Sales_2021,Sales_2022
當通過編程語言查詢時,首先要確定需要查詢的目標表名
當有了磁區表后 假設有以下的表結構
CREATE TABLE [dbo].[test] (
[id] int DEFAULT '' NOT NULL,
[create_datetime] datetime NOT NULL,
[create_year] AS (datepart(year,[create_datetime])) PERSISTED NULL ---- 有意冗余
)
ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ix_test____create_year]
ON [dbo].[test] (
[create_year] ASC
)
列 create_datetime 應用了按 年 劃分的磁區函式
請問當使用以下查詢時
select * from test where create_year=2020;
查詢引擎會不會主動到磁區是 2020 的邏輯表中去查詢? 還是說要改進SQL陳述句才行。多謝多謝
uj5u.com熱心網友回復:
你這樣只是查出了表名,你還需要對于這個表查詢內容。uj5u.com熱心網友回復:
select * from test where create_year=2020;查詢引擎會主動到磁區是2020的邏輯表中去查詢.
uj5u.com熱心網友回復:
直接就到磁區2020轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/19431.html
標籤:基礎類
上一篇:支付寶支付介面如何提取鏈接?
下一篇:微信朋友圈
