인덱스란? 인덱스란 SQL 조회의 처리 속도 향상을 위해 칼럼에 생성하는 객체 새로운 인덱스 생성하기 CREATE INDEX 인덱스명 ON 테이블이름(칼럼명); 테이블의 인덱스 확인하기 SHOW INDEX FROM 테이블이름; 인덱스 제거 DROP INDEX 인덱스명; 인덱스를 무조건 사용한다고 해서 검색속도가 빨라지는 것은 아니다. 맹목적인 인덱스 지정시 성능 저하의 요인이 될 수 있다.(보통 한 테이블에 4~5개 이상의 인덱스를 지정하는건 권장하는 방법이 아니다) 인덱스를 사용해야 할 경우 - 테이블 행의 수가 많을 때 - 검색 결과가 전체 데이터의 5%이내 일때 - 컬럼에 대하여 변경보다 검색이 잦을 때 - WHERE문에 해당 컬럼이 많이 사용 될 때 - 컬럼값이 다양한 값을 지녔을 때 인덱스를 사..
테이블의 구조를 변경하는 ALTER문 ADD : 테이블에 칼럼을 추가합니다. MODIFY : 테이블의 칼럼 속성을 변경합니다. DROP : 테이블의 해당 칼럼을 삭제합니다. 형식 ALTER TABLE 테이블이름 ADD (칼럼이름,데이터타입,....); 사용 예 ALTER TABLE MEMBER MODIFY (NAME VACHAR(20)); //칼럼의 데이터 크기를 변경한다. ALTER TABLE MEMBER DROP COLUMN NAME; //테이블의 칼럼을 지운다. 테이블을 삭제하는 DROP문 사용 예 DROP TABLE MEMBER; //MEMBER라는 테이블을 지운다. 테이블의 모든 레코드를 삭제하는 TRUNCATE문 사용 예 TRUNCATE TABLE MEMBER; //MEMBER라는 테이블을
뷰는 가상테이블 이다. 하나의 테이블이라곤 말할 순 없고, 일단 뷰를 생성해두고 필요 시 호출하게 되면 뷰에 있는 쿼리가 내부적으로 실행되고 데이터를 가져오게 된다. 뷰를 왜 사용하는가? - SQL문의 재사용과 복잡한 쿼리문 작업을 단순화 시키려고. - 테이블 검색의 전체결과가 아닌 일부만 보거나 활용하려고. - 다른 사용자로부터 데이터를 보호하려고. 뷰는 자체적으로 아무런 데이터를 포함하지 않는다. 그냥 다른 테이블들에서 데이터를 가져와 볼 수 있도록 해줄 뿐. 그렇기 때문에 뷰 가상테이블을 보려고 할 때마다 그에 따른 쿼리를 실행하기 때문에 여러 조인문이나 뷰를 중첩하여 사용한 경우 제대로 튜닝하지 않으면 성능이 저하될 우려가 있음. 뷰의 규칙 - 뷰의 명칭은 테이블과 마찬가지로 고유해야함. - 만들..
TINYINT 부호있는 수는 -128에서 127까지, 부호 없는 수는 0에서 255까지 표현할 수 있다. 1 바이트 ※디폴트는 부호있는거(SIGNED), UNSIGNED를 붙이면 부호없는것~ SMALLINT 부호있는 수는 -32768에서 32767까지, 부호 없는 수는 0에서 65535까지 표현할 수 있다. 2 바이트 ※디폴트는 부호있는거(SIGNED), UNSIGNED를 붙이면 부호없는것~ MEDIUMINT 부호있는 수는 -8388608부터 8388607까지, 부호없는 수는 0에서 16777215까지의 수를 표현할 수 있다. 3 바이트 ※디폴트는 부호있는거(SIGNED), UNSIGNED를 붙이면 부호없는것~ INT [unsigned] 부호있는 수는 -2147483648부터 2147483647까지, 부..
서버환경 : 리눅스 CentOS 6.9이 글은 우선 아파치와 mod_jk, openssl 그리고 톰캣이 설치되어 있고 웹환경이 다 구현되어 있다는 전제로 설정하는 부분만 적는다.서버에 Let'sEncrpyt도 마찬가지로 설치되어 있어야 한다. Let'sEncrpyt 디렉토리로 이동..RPM방식으로 설치하니 두 가지 경로가 나온다.[root@host ~]# whereis letsencrypt letsencrypt: /etc/letsencrypt /usr/local/letsencrypt 인증서를 생성하는 명령어가 위치하는 곳은 /usr/local/letsencrypt이다