CREATE DATABASE DBNull
ON PRIMARY (NAME = N'DBNull' ,FILENAME = 'C:\MSSQL_DATA\DBNull.MDF',SIZE = 500MB ,MAXSIZE = UNLIMITED ,FILEGROWTH = 100MB)
LOG ON (NAME = N'DBNull_Log' ,FILENAME = 'C:\MSSQL_LOG\DBNull.LDF' ,SIZE = 100MB ,MAXSIZE = 1024GB ,FILEGROWTH = 100MB)
SELECT DATABASEPROPERTYEX('DBNull','Collation')
ALTER DATABASE DBNull ADD FILEGROUP [IN_MemoryGroup] CONTAINS MEMORY_OPTIMIZED_DATA
ALTER DATABASE DBNull
ADD FILE(NAME = IN_MEMORY,FILENAME='C:\IN_MEMORY') TO FILEGROUP [IN_MemoryGroup]
USE DBNull
GO
CREATE TABLE [SCHEMA_ONLY](
col1 INT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 10000000)
,col2 NVARCHAR(100) COLLATE Korean_Wansung_BIN2 NOT NULL INDEX[HX_TBL_1_1]
,col3 NVARCHAR(50) NULL
,col4 INT NULL)
WITH (MEMORY_OPTIMIZED = ON
,DURABILITY = SCHEMA_ONLY)
GO
INSERT INTO [SCHEMA_ONLY] VALUES (1,N'TEST','C개발자',100)
SELECT * FROM [SCHEMA_ONLY]
CREATE TABLE [SCHEMA_AND_DATA](
col1 INT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 10000000)
,col2 NVARCHAR(100) COLLATE Korean_Wansung_BIN2 NOT NULL INDEX[HX_TBL_1_1]
,col3 NVARCHAR(50) NULL
,col4 INT NULL)
WITH (MEMORY_OPTIMIZED = ON
,DURABILITY = SCHEMA_AND_DATA)
GO
INSERT INTO [SCHEMA_AND_DATA] VALUES (1,N'TEST1','DBA',100)
SELECT * FROM [SCHEMA_AND_DATA]
SELECT *
FROM SYS.fn_helpcollations ()
WHERE COLLATIONPROPERTY ('name','Codepage') = 1252
GO
SELECT COLLATIONPROPERTY(name, 'codepage') AS CODEPAGE, NAME
from sys.fn_helpcollations()
where name like '%bin2%'
and name like '%korean%'
CREATE TABLE dbo.ORDER_CI_AS(
ID int primary key nonclustered identity
, CI_AS nvarchar(100) collate korean_wansung_ci_as
)
WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA);
GO
CREATE TABLE dbo.ORDER_BIN2(
ID int primary key nonclustered identity
, BIN2 nvarchar(100) collate korean_wansung_bin2
)
WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA);
GO
INSERT INTO ORDER_CI_AS VALUES( N'가')
INSERT INTO ORDER_BIN2 VALUES( N'가')
INSERT INTO ORDER_CI_AS VALUES(N'1')
INSERT INTO ORDER_BIN2 VALUES(N'1')
INSERT INTO ORDER_CI_AS VALUES(NULL)
INSERT INTO ORDER_BIN2 VALUES(NULL)
INSERT INTO ORDER_CI_AS VALUES(N'A')
INSERT INTO ORDER_BIN2 VALUES(N'A')
GO
SELECT 'CI_AS' as 'collate',* FROM ORDER_CI_AS ORDER BY CI_AS
SELECT 'BIN2' as 'collate',* FROM ORDER_BIN2 ORDER BY BIN2
GO
SELECT * FROM ORDER_CI_AS AS A
INNER JOIN ORDER_BIN2 AS B
ON A.CI_AS = B.BIN2
ALTER PROC DBO.INSERT_PROC_1
@col1 INT
,@col2 NVARCHAR(200)
,@col3 NCHAR(100)
,@col4 INT
WITH
NATIVE_COMPILATION,
SCHEMABINDING,
EXECUTE AS OWNER
AS
BEGIN ATOMIC
WITH
(TRANSACTION ISOLATION LEVEL = SNAPSHOT,
LANGUAGE = N'KOREAN')
END
GO
USE AdventureWorks2014
GO
SELECT COUNT(*) AS [전체 행 수]
FROM Sales.SalesOrderDetail
SELECT COUNT(*) AS [복합 인덱스로 걸 경우 고유값]
FROM
(SELECT DISTINCT SpecialOfferID, ProductID
FROM Sales.SalesOrderDetail) t
CREATE TABLE [Sales].[SalesOrderHeader_test]
(
[SalesOrderID] [uniqueidentifier] NOT NULL DEFAULT (newid()),
[OrderSequence] int NOT NULL,
[OrderDate] [datetime2](7) NOT NULL,
[Status] [tinyint] NOT NULL,
PRIMARY KEY NONCLUSTERED HASH ([SalesOrderID]) WITH ( BUCKET_COUNT = 262144 ),
INDEX IX_OrderSequence HASH (OrderSequence) WITH ( BUCKET_COUNT = 20000),
INDEX IX_Status HASH ([Status]) WITH ( BUCKET_COUNT = 8),
INDEX IX_OrderDate NONCLUSTERED ([OrderDate] ASC),
)WITH ( MEMORY_OPTIMIZED = ON , DURABILITY = SCHEMA_AND_DATA )
GO
SET NOCOUNT ON
DECLARE @i int = 0
BEGIN TRAN
WHILE @i < 262144
BEGIN
INSERT Sales.SalesOrderHeader_test (OrderSequence, OrderDate, [Status]) VALUES (@i, sysdatetime(), @i % 8)
SET @i += 1
END
COMMIT
SET NOCOUNT OFF
GO
SELECT
object_name(hs.object_id) AS 'object name',
i.name as 'index name',
hs.total_bucket_count,
hs.empty_bucket_count,
floor((cast(empty_bucket_count as float)/total_bucket_count) * 100) AS 'empty_bucket_percent',
hs.avg_chain_length,
hs.max_chain_length
FROM sys.dm_db_xtp_hash_index_stats AS hs
JOIN sys.indexes AS i
ON hs.object_id=i.object_id AND hs.index_id=i.index_id
WHERE I.name IN('IX_Status','IX_OrderSequence','PK__SalesOrd__B14003C33D8879E4')
BACKUP DATABASE [DBNull] TO DISK = 'C:\MSSQL_BACKUP\DBNull.BAK'
RESTORE FILELISTONLY FROM DISK = 'C:\MSSQL_BACKUP\DBNull.BAK'
RESTORE DATABASE [DBNull_2] from DISK ='C:\MSSQL_BACKUP\DBNull.BAK'
WITH MOVE 'DBNull' TO 'C:\MSSQL_DATA\DBNull_1.MDF',
MOVE 'DBNull_Log' TO 'C:\MSSQL_LOG\DBNull_1.LDF',
MOVE 'IN_MEMORY' TO 'C:\IN_MEMORY_2'
USE DBNull_2
GO
SELECT * FROM [dbo].[TBL_2]
SELECT * FROM [dbo].[TBL_1]
EXEC [dbo].[INSERT_PROC_1] 2,'주형권','개발자',200
CREATE RESOURCE POOL [DBNull_MEMORY] WITH (MAX_MEMORY_PERCENT = 70);
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
EXEC sp_xtp_bind_db_resource_pool 'DBNull', 'DBNull_MEMORY'
GO
ALTER DATABASE DBNull SET OFFLINE
GO
ALTER DATABASE DBNull SET ONLINE
GO
USE [DBNull]
go
SELECT OBJECT_NAME(object_id), *
FROM sys.dm_db_xtp_table_memory_stats;