-------------------------------------------------------------------
* Index hint 인덱스를 태운다
-------------------------------------------------------------------
table name + WITH(INDEX(인덱스이름))
+ WITH(INDEX = 인덱스이름)
-------------------------------------------------------------------
ex )
UPDATE BADUKUSER SET nMoney = @nSetMoney FROM BADUKUSER WITH ( INDEX = IX_nMoney )
WHERE nMoney <= 20000 AND nTemp2 = 0 OPTION (MAXDOP 2);
* CPU 높게 치는거 막아줌 - 쿼리의 마지막에 붙여넣는다
- cpu 를 더 많이 써서 쿼리를 빨리 끝냄.
-------------------------------------------------------------------
맨 끝 + OPTION (MAXDOP 2)
-------------------------------------------------------------------
*WAITFOR
-------------------------------------------------------------------
* WAITFOR TIME '04:35' ( 4시 35분까지 기다렸다가 수행 )
* WAITFOR DELAY '00:00:20' ( 20초 기다린다. )
-------------------------------------------------------------------
* 테이블변수( 프로시저 내에서 사용할때 임시테이블 대체 )
DECLARE @tb_a TABLE( szID CHAR(20) )
-------------------------------------------------------------------
*쿼리 수행 통계
-------------------------------------------------------------------
SET STATISTICS IO ON
SET STATISTICS PROFILE ON
SET STATISTICS TIME ON
exec 프로시저
SET STATISTICS IO OFF
SET STATISTICS PROFILE OFF
SET STATISTICS TIME OFF
-------------------------------------------------------------------
* MYSQL nIdx 자동 증가
-------------------------------------------------------------------
필드명 자료형 AUTO_INCREMENT PRIMARY KEY,
-------------------------------------------------------------------
* SET ANSI_NULLS ON 옵션설정
-------------------------------------------------------------------
LINKED SERVER로 이기종 연결 후 저장프로시저 생성오류가 날 경우
( 다른 DB 테이블을 참조할때 오류)
CREATE PROC 구문전에 아래 구문을 먼저 적는다.
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
GO
CREATE PROC SP_XXX_XXXX
AS
......
* DBCC CHECKDB
-------------------------------------------------------------------
DB 테이블의 오류 및 상태를 체크해 준다
정상 테이블일 경우 행의 수만 표시하며
오류가 난 부분은 그 테이블을 알려준다
DBCC CHECKDB
DBCC CHECKDB ('netgodori' , REPAIR_ALLOW_DATA_LOSS)
-------------------------------------------------------------------
* 단일 접속 / 다중 접속 세팅
ALTER DATABASE "DB명" SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE "DB명" SET MULTI_USER
* DBCC CHECKTABLE( "테이블이름" )
* DBCC DBREINDEX
-------------------------------------------------------------------
테이블의 인덱스를 다시 잡는다
-------------------------------------------------------------------
MYSQL
( 테이블 존재 여부 )
* SHOW TABLES LIKE 'tb_table'
* Information_schema
- SELECT COUNT(0) FROM information_schema.tables WHERE table_schema = 'poplar' AND table_name = 'tb_wtool_db_info';
* CREATE TABLE IF NOT EXISTS tb_a ( szID CHAR(20) );
* IF NOT EXISTS (Select TABLE_NAME From information_schema.TABLES Where TABLE_SCHEMA = 'LP2GO' AND TABLE_NAME = 'tmp_buy_user_list_result' )
'Programming' 카테고리의 다른 글
Media wiki 설치 및 세팅 (0) | 2012.02.01 |
---|---|
sql server db 복원 (0) | 2012.01.19 |
gdb 정리 (0) | 2012.01.18 |
linux 자주쓰는 명령어..정리 (0) | 2012.01.18 |
리눅스 사용자 관련 명령어 (0) | 2011.03.03 |