/****** 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...