본문 바로가기

Language37

JAVA에서 문자열을 ArrayList로 변환 및 ArrayList와 List의 차이점 ** 방법1 ** .toCharArray() : add(), get() public static void main(String[] args) { String firstStr = "안녕하세요"; String secondStr = "코박살입니다"; new StringToArrayList().StringToArray(firstStr, secondStr); } public void StringToArray(String firstStr, String secondStr) { // 형식 : 문자 ArrayList strList = new ArrayList(); // 문자열을 한글자씩 얻기 for(char StringToChar : firstStr.toCharArray()) { strList.add(StringToCh.. 2022. 4. 11.
ResultHandler(RowHandler)사용법 왜 쓰나? 대용량 데이터를 Row 단위 즉, 행별로 처리하기 위함. (= SELECT와 INSERT,UPDATE,MERGE를 한 건씩 수행) 어떤 경우에 쓰이나? 필자의 경우 List에 70만건의 데이터를 담아서 처리하니 'GC overhead limit exceeded' 에러 발생 + OOM(Out Of Memory)에러 발생. 이를 해결하기 위해 썼다. 장점? 앞서 말한 것과 같이 '대용량 데이터'처리에 좋아 OOM에러를 피할 수 있다.(서버 멈추지 않기위해) 단점? List에 담아서 처리하는 것 보다 훨~씬 느리다. (그래서 시간 오래걸려도 상관없는 새벽시간 야음을 틈타 혼자 열심히 수행하는 Batch에 많이 쓰인다.) 본격적인 사용예시 ==================================.. 2022. 3. 15.
[MySQL] 실행 계획 및 explain 읽는 방법, 정보 확인 방법 ** 유의사항 : 필자기준 필요한 것만 한 눈에 보이도록 작성 ** type : 테이블 내 어떻게 값을 찾았는지 확인할 수 있다. - const : PK, UNIQUE 한 값으로 인덱스 이용(가장빠름) - eq_ref : PK, UNIQUE 한 값으로 인덱스 이용(가장빠름) - ref : 동등비교를 통해 인텍스 이용(빠름) - range : 인덱스를 이용해 값 비교(BETWEEN) - ALL : 인덱스 이용없이 테이블 값 전체를 스캔 possible_keys : WHERE 조건에 쓰여진 값으로 이용할 수 있는 인덱스를 나타내줌 key : 실제 이용한 인덱스 ** 인덱스는? - cadinality(카디널리티)가 높으면 높을 수록 성능이 좋아진다. 예) 주민등록번호, 고유번호, 핸드폰번호 등... - 선택도.. 2022. 2. 28.
[MySQL] 테이블 정보(스키마) 조회 TABLE의 정보를 조회하고자 할 때 INFORMATION_SCHEMA를 이용할 수 있다. 예시를 통해 결과를 보면 다음과 같다. SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '조회하고싶은 테이블명' ; SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '' ; **조회결과** TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMER.. 2022. 2. 25.