일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- python
- javascript
- MySQL
- ubuntu
- node.js
- urllib
- flutter
- ASP
- Unity
- Linux
- 라즈베리파이
- PER
- PyQt
- 날짜
- mssql
- PyQt5
- 다이어트
- 함수
- swift
- IOS
- tensorflow
- 유니티
- MS-SQL
- sqlite
- Excel
- 리눅스
- GIT
- pandas
- 맛집
- port
목록데이타베이스/MSSQL (53)
아미(아름다운미소)
현업에서 사용하고 있는 DB에 대해 인덱스 조각모음을 해야 할 경우 인덱스들은 데이터를 추가,삭제시 마다 인덱스의 단편화가 생기고 이 단편화로 인해 인덱스 사용시 조회시간이 늘어나고 공간도 늘어나게 됩니다. 이를 해결할 방법은 인덱스를 재구성하거나(DBCC DBREINDEX)나 마치 디스크의 조각모음을 하는 것과 같은 인덱스 조각모음을(DBCC INDEXDEFRAG) 하는 것입니다. 두가지 방법 모두 나름대로 장단점이 있습니다. 인덱스를 재구성 할때에는(DBCC DBREINDEX) 해당 인덱스를 사용할 수가 없고따라서 작업을 할 때에는 서비스를 막아놓고 작업을 해야 합니다. 하지만 인덱스를 새롭게다시 구성하는 것인만큼 효과는 가장 좋습니다. 인덱스 조각모음은(DBCC INDEXDEFRAG) 작업하는 동안..
- 인덱스란? 테이블의 데이터를 조회할 때 빠르고 효과적으로 조회할 수 있도록 도와주는 역활을 하는 데이터 구조입니다. 조회는 빠르지만 INSERT, UPDATE등을 수행할 떄는 느려지기 때문에 조회가 많은 테이블을 기준으로 설정하여 야 합니다. - INDEX 와 UNIQUE INDEX 차이 INDEX 와 UNIQUE INDEX는 둘다 조회를 효과적으로 하는역활을 하지만 UNIQUE INDEX 가 설정된 컬럼은 중복 데이터가 들어갈 수 없고, INDEX 가 설정된 컬럼은 중복데이터가 들어가도 되는 차이점이 있습니다. - MSSQL INDEX 생성 방법 (중복 허용) CREATE INDEX [인덱스명] ON [테이블명] ([컬럼명] [정렬기준]) - MSSQL UNIQUE INDEX 생성 방법 (중복 비 ..
NOLOCK 잠금해제MSSQL의 SELECT 는 기본적으로 공유잠금입니다. 즉 SELECT 하는 동안 다른 UPDATE, INSERT, DROP 등이 테이블에서 작업이 불가능 합니다. 하지만 NOLOCK 옵션을 사용하면 UPDATE, INSERT 등이 가능해집니다. 예제)SELECT * FROM TABLE WITH (NOLOCK)
MS-SQL을 사용하다 보면 여러가지 이유로 Lock이 걸려서 더 이상 작업이 안되는 경우 가 있습니다.이 경우 아래의 방법으로 확인하고 해결할 수 있습니다. 1. sp_lock 실행 Lock 내용 확인. Mode가 X 인 것들을 확인하고, spid 를 기억해 둔다. 보통 spid 가 여러개 중복되어 출력되는 경우가 많다. 예) exec sp_lock 2. dbcc inputbuffer(spid) 클라이언트에서 MSSQL로 보낸 최종 명령문을 표시한다. 1번에서 Mode 가 X 인 것의 spid를 입력하면 해당 내용이 출력된다. 예) dbcc iniputbuffer(30) 3. sp_who spid 1번에서 확인된 spid 를 입력하면 관련 정보를 표시해 준다. 예) exec sp_who 30 4. ki..
조인하려는 컬럼의 데이터 정렬 값이 서로 다른 경우 다음과 같은 에러를 출력하면서 작업을 더이상 진행 할 수 없는 경우는 'equal to 연산의 데이터 정렬 충돌을 해결할 수 없습니다.' 의 원인은 두 테이블에서 같은 필드명에 같은 타입으로 되어 있지만 각각 Korean_Wansung_CS_AS와 Korean_Wansung_Unicode_CS_AS를 데이터 정렬 값으로 가진 경우 입니다. 해결방법 : 1. 테이블 디자인에서 데이터 정렬 값을 일치시켜 주던가 (실 서비스 상황에서 쉽지 않은 선택입니다) 2. 쿼리문에서 다음과 같이 collate 구문을 써서 정렬값을 명시적으로 지정해 줍니다. 2번째 방법 WHERE a.bcode = b.acode COLLATE Korean_Wansung_CS_AS
SQL Server 20058 엔터프라이즈 버전 이상 SQL Server 20058 엔터프라이즈 버전 이상에서 사용할 수 있는 기능으로 백업 데이터가 저장된 장치의 오류에 의한 문제로 백업 데이터가 손실되는 문제를 방지하기 위해 동일한 데이터를 서로 다른 백업 장치에 동시에 백업하여 하나의 백업된 미디어에 문제가 발생하더라도 남아 있는 다른 미디어를 사용하여 복원하는것이 목적 입니다. [T-SQL 구문 표기 규칙] BACKUP DATABASE [SQLTAG] TO DISK = 'D:\SQL\BACKUP\SQLTAG.BAK' MIRROR TO DISK = 'E:\SQL\BACKUP\SQLTAG.BAK' WITH FORMAT TO DISK, MIRROR TO DISK에 명시된 D, E 드라이브에 SQLTAG..
정수 데이터를 사용하는 정확한 숫자 데이터 형식입니다. 데이터베이스의 공간 절약을 위해 모든 가능한 값을 포함한 안정적 수중 가장 작은 데이터 형식을 사용하는것이 좋습니다 . 예를 들어 255세 이상 사는 사람은 아무도 없기 때문에 tinyint는 사람의 나이로 사용하기에 적합 합니다. 하지만 건축물의 경우 255 년 이상된 건축물도 있으로 tinyin 건물의 나이로 사용하기에는 적절치 않습니다. 데이터 형식 범위 저장소 bigint -2^63(-9,223,372,036,854,775,808) ~ 2^63-1(9,223,372,036,854,775,807) 8바이트 int -2^31(-2,147,483,648) ~ 2^31-1(2,147,483,647) 4바이트 smallint -2^15(-32,768)..
[MSSQL] 당월 첫째 날짜와 마지막 날짜 구하기 - 첫째날짜 구하기. SELECT DATENAME(YEAR,getdate()) + DATENAME(month,getdate())+'01' - 마지막 날짜 구하기. SELECT CONVERT(VARCHAR(8),DATEADD(day, -1,DATEADD(MONTH, 1,DATENAME(YEAR,getdate()) + DATENAME(month,getdate())+'01')),112)
특수문자제거 함수 CREATE FUNCTION DBO.UFN_REMOVE_SPECIAL_CHARS ( @mString varchar(256) ) RETURNS VARCHAR(256) BEGIN IF @mString IS NULL BEGIN RETURN NULL; END DECLARE @mString2 VARCHAR(256) = ''; DECLARE @mLen INT = len(@mString); DECLARE @mInt INT = 1; WHILE @mInt
리스트 페이징 프로시져 //리스트 페이징 프로시져 CREATE PROCEDURE dbo.P_board_list01 @key_fild VARCHAR(50)= 'midx' , @qstrsqlVARCHAR(500)= '', @TBnameVARCHAR(50)= '', @orderbyVARCHAR(500)= '', @pagesizeINT, @pageINT, @pagecountINT OUTPUT, @RecordCountINT OUTPUT, @strErrorNumint OUTPUT AS BEGIN Tran SET NOCOUNT ON DECLARE @MaxNo INT, @SQL VARCHAR(1000),@NSQL NVARCHAR(1000) DECLARE @rowcnt INT SET @rowcnt = 0 SET @str..