반응형
반응형
데이터베이스 성능 최적화는 거창한 인프라 증설보다 우선시 되야할것이 바로 '나쁜 쿼리 습관'을 버리는 것에서 시작됩니다. 여기서 말하는 나쁜 습관이란 쿼리를 작성할 때 인덱스를 만들어두고도 제대로 활용하지 못하는 대표적인 실수 6가지와 그 해결책을 분석과 함께 정리했습니다.0. 실습을 위한 테이블 구조먼저 예시 쿼리들을 테스트해 볼 수 있는 환경입니다.CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50), email VARCHAR(100), dept_id INT, status VARCHAR(20), created_at DATETIME, -- 복합 인덱스 설정 INDEX idx_..
LOAD DATA LOACAL INFILE 은 my sql에서 txt나 csv형식의 데이터 파일을 읽어와서 db에 insert 시키는 방법입니다. MY SQL이 위치되어 있는 LOCAL 에서 해당 파일의 절대 경로를 입력하여 사용가능하며 CHARACTER 로 인코딩을 지정 하고 FIELDS TERMINATED 로 컬럼 구분자 LINES TERMINTED 로 행 구분자를 지정해 줍니다. 쿼리문은 아래와 같습니다. LOAD DATA LOCAL INFILE '파일명' INTO TABLE 테이블명 CHARACTER SET UTF8MB4 FIELDS TERMINATED BY '\t' -- 컬럼 구분자 LINES TERMINATED BY '\n' -- 행 구분자 + 파일명과 테이블명을 제대로 입력했는데 not fo..
MSSQL을 사용할때 'create database 사용 권한이 거부되었습니다' 라는 문구가 나올 때가 있습니다. 이는 해당 로그인 계정에 create 권한이 없기 때문에 발생하는 문제로 mssql을 사용하여 응용 어플리케이션에 연결 할때 등 mssql의 로그인 계정에 세팅에 관한 문제입니다. 이를 해결하기 위해서는 1.SSMS(SQL Server Management Studio) 에 접속 2. 보안 폴더- 로그인 폴더에서 권한을 넣어줄 계정 선택 3.해당 계정 더블 클릭 후 좌측의 서버 역할 클릭 4. dbcreator ,public , sysadmin 체크 선택 후 확인 아래는 서버역할을 msdn에서 가져온 것 입니다. sysadmin sysadmin 고정 서버 역할의 멤버는 서버에서 모든 작업을 수..
mssql에서 datetime 형식으로 값을 넣을 때 Cast와 Convert를 활용하여 시간과 날짜를 같이 입력하는 방법 입니다. 1. Convert활용 --Convert 활용 insert into 테이블명 (컬럼명1) values (convert(datetime,'2023-03-18 10:34:09.000')); convert와 datetime을 활용하여 datetime형식으로 변경하여 입력하는 방법입니다. 2.Cast 활용 --Cast 활용 insert into 테이블명 (컬럼명1) values (cast('2023-03-18 10:34:09.000'as datetime)); Cast를 활용하여 datetime형식으로 형변환을 하여 입력하는 방법입니다. 3.조회 방법 위의 두쿼리를 사용하여 입력하였..
mssql에서 현재 시간과 날짜를 구하는 방법 1. SLEECT GETDATE() GETDATE를 사용하면 현재 날짜와 시간 초 까지 출력 됩니다. 2. SELECT CONVERT(CHAR(10),GETDATE(),23) YYYY-MM-DD로 출력 할때는 MSSQL의 날짜 변환 표를 사용해서 위와 같이 출력하면 됩니다. 2-1. SELECT CONVERT(DATE,GETDATE()) 똑같이 YYYY-MM-DD로 출력하고 싶을때 DATE를 CONVERT안에 넣에주면 똑같은 YYYY-MM-DD형식으로 출력 됩니다. 3.GETUTCDATE() GETUTCDTAE 는 표준시간을 출력하는 메서드입니다. GETUTCDATE도 마찬가지로 CONVERT를 사용하여 원하는 형식으로 출력 할 수 있습니다. 3-1 SELE..
BULK INSERT 테이블명 FROM 'C:Test\test.txt' WITH( CODEPAGE= '65001' --코드페이지 설정 , FIELDTERMINATOR = '\t ' -- 열구분자 설정 , ROWTERMINATOR = '\n' -- 행구분자 설정 , FIRSTROW = '0' -- 데이터 입력 시작할 행 , BATCHSIZE = '100') --한번에 INSERT 할 행의 수 입력 bulk insert는 mssql에서 txt파일이나 csv파일로 되어 있는 다량의 데이터 파일의 경로를 첨부하여 데이터 베이스에 삽입 할 수 있는 명령어입니다. - CODEPAGE에서 한국어가 깨지면 65001로 설정하면 됨