幾句SQL 完成分割槽使用

2021-09-11 07:18:34 字數 1970 閱讀 4299

/****** script for selecttopnrows command from ssms ******/

– 建立表

select top 1000 [id]

,[name]

,[createtime]

from [demo].[dbo].[users]

– 新增檔案組

alter database [demo] add filegroup t2018

alter database [demo] add filegroup t2019

alter database [demo] add filegroup t2020

–新增檔案

alter database [demo] add file

(name=n』t2018』,filename=『c:\program files\microsoft sql server\mssql14.sqlexpress\mssql\data\t2018.ndf』,size=5mb,maxsize=100mb,filegrowth=5mb)

to filegroup t2018

alter database [demo] add file

(name=n』t2019』,filename=『c:\program files\microsoft sql server\mssql14.sqlexpress\mssql\data\t2019.ndf』,size=5mb,maxsize=100mb,filegrowth=5mb)

to filegroup t2019

alter database [demo] add file

(name=n』t2020』,filename=『c:\program files\microsoft sql server\mssql14.sqlexpress\mssql\data\t2020.ndf』,size=5mb,maxsize=100mb,filegrowth=5mb)

to filegroup t2020

–建立分割槽函式

create partition function rangetime (datetime)

as range left for values (『2018-12-31』,『2019-12-31』)

–建立分割槽方案

create partition scheme rangeschema_createtime

as partition rangetime

to (t2018,t2019,t2020)

–每個時間段寫入資料

insert into [dbo].[users]

([name]

,[createtime])

values

(『tom3』

,『2020-01-01』)

goselect * from [dbo].[users]

–刪除表存在的聚集索引

alter table users drop constraint pk__users__3214ec078ea2153d

–修改為非聚集索引

alter table users add constraint pk_users primary key nonclustered (id asc)

–建立分割槽聚集索引

create clustered index ix_createtime on users ( createtime )

on rangeschema_createtime ( createtime )

–查詢每個分割槽的資料條數

select $partition.rangetime(createtime), count(*) from users group by $partition.rangetime(createtime)

–查詢分割槽=1 上面的所有資料

select * from users where $partition.rangetime(createtime) =1

Hibernate 使用純SQL語句完成查詢操作

採用這種方式查詢原因 由於多表關聯,在查詢時無需多餘的字段,為了少些不必要的字段和 故初次下策,一般情況下採用這種方式。當前專案使用到spring springmvc hibernate 框架整合,在多表關聯查詢是遇到一些問題。後來發現是否可以採用純sql語句來查詢,在google查詢一番後,整理如...

使用PHP操作SQL 完成簡單的CURD操作

1 從資料庫出發,先建立測試資料,這裡使用的mysql,通過指令碼模式建立測試資料。set names utf8 drop database if exists disk create database disk charset utf8 use disk create table udisk ui...

SQL 使用一條INSERT語句完成多表插入

這是一條顛覆常規的插入方法,一條insert語句可以完成向多張表的插入任務。小小地展示一下這種插入方法。1.建立表t並初始化測試資料,此表作為資料來源。sec ora10g create table t x number 10 y varchar2 10 sec ora10g insert into...