본문 바로가기
반응형

전체 글1073

데이터베이스 최적화 방법 1 (23.04.27) 옵티마이저의 종류와 DBMS 종류에 따라 다를순 있지만 일반적인 쿼리 튜닝방법에 대해서 정리한 글을 공유하려한다. 저장해두고 보기 위해 글 사용합니다. OR 연산자의 사용을 피하라. 대부분의 경우에 WHERE 절의 조건에 OR 연산자를 가지고 있다면 SQL은 인덱스를 사용하지 않는다. 이러한 명령문은 두가지 방법으로 다시 작성할 수 있는데, 어떤 환경에서는 IN 연산자를 가지고 있는 조건으로 대치하거나 UNIO으로 연결된 두개의 SELECT 문을 사용하여 전체 명령문을 대치할 수 있다. 이렇게 대치하면 SQL은 인덱스를 사용할 것이다. 주의사항 : OR 연산자가 UNION으로 대체 될 때, 자동적으로 중복된 모든 행을 삭제한다. 원래의 SELECT 문에서 기본키를 포함하고 있다면 상관없다. WHERE H.. 2023. 4. 29.
문자열 합치기 방법(concat, StringBuilder, StringBuffer, + ) (23.04.26) 이번 포스팅에서는 다룰 내용은 자바에서 String을 이어주기 위한 방법들이다. 어찌보면 정말 간단하지만 다양한 방법들이 있으니 이 포스팅에서 배워가길 바란다. 연산자 설명 사용법 (HelloWorld) concat database와 비슷하다 "Hello".concat("World") + 가장 기본이고 직관적이다. "Hello"+"World" StringBuilder - StringBuilder를 선언하고 append함수를 통해 문자열을 덧붙일 수 있다. - 일반 String과 StringBuilder가 다른점은 수정이 가능하다. String는 immutable 한 객체이기 때문에 값을 수정하려면 다른 값을 가진 String을 다시 대입하는 식으로 처리해야 한다. StringBuilder는 새로운 Str.. 2023. 4. 28.
com.mysql.cj.jdbc.Driver와 com.mysql.jdbc.Driver 차이 (23.04.25) 데이터베이스와 연동하는 개발을 하기 위해서는 jdbc를 필수적으로 필요로 한다. 그중 오픈라이선스로 무료인 mysql을 개인으로는 많이 사용하고 필자 역시 사용하는데, driver가 이름은 같지만 도메인 자체가 다른 제목과 같은 두 드라이버에 대한 차이를 알아보려고 한다. - com.mysql.cj.jdbc.Driver - com.mysql.jdbc.Driver 둘의 차이는 사용하는 mysql connector의 버전이다. com.mysql.jdbc.Driver는 Connector/J 5.x 버전까지 사용되었고 Connector/J 8.x 버전부터는 com.mysql.cj.jdbc.Driver를 사용해야 한다. 실제로 mysql-connector-java-8.0.22.jar 파일을 디컴파일러로 까보면 패.. 2023. 4. 28.
eclipse ini 설정 자바를 사용하기 위해 가장 많이 사용되는 툴 중 하나인 이클립스에 대해서 다뤄보려고 한다. 설치 관련해서는 아래 참고 포스팅을 참고 바란다. ini 파일이란 실행하기 위한 설정 값들이 들어있는데 파일 안을 살펴보면 주요 셋팅 변수에 대해서 다뤄볼 것이다. 값 설명 vm 실행파일명을 포함한 전체 경로를 기입 vmargs 라인의 이전에 설정 vmargs JVM 옵션을 설정 Dosgi.requiredJavaVersion 사용할 자바 버전을 설정 Xms 이클립스가 사용하는 최소 Heap 메모리 크기 Xmx 이클립스가 사용하는 최대 Heap 메모리 크기 이외 주요 설정들은 공식 홈페이지에서도 확인 가능하다. https://wiki.eclipse.org/Eclipse.ini eclipse.ini - Eclipsep.. 2023. 4. 24.
SQL Builder 클래스 이전 포스팅에서 Mybatis를 이용해서 sql 문을 만드는 과정을 다룬적이 있다. 자세한 내용은 아래 참고 포스팅에 기술 되어있다. 원래 SQL 문은 String 으로 기술이 되어있고, 아래 참고 포스팅을 봐도 결국엔 String builder 를 통해서 String 을 Return 해주었다. 하지만 상황에 따라서 따옴표나 각종 특수기호 사용, 혹은 코드의 깔끔함과 간결성을 위해서 java에서 제공하는 형식이 있다. sql builder 클래스이다. 기존에는 String sql = """ select name, age from table where 1=1 and name = 'name' and age >10; """ 이런식으로 String 으로 하나로 묶었다고 하면 이 sql문을 아래와 같이 좀 더 간.. 2023. 4. 23.
[Tibero] view / procedure 조회 이전 포스팅에서 oracle에서 procedure 조회 관련해서 다룬 적이 있다. 아래 참고 포스팅을 참고 바란다. tibero에서 view랑 procedure 조회는 아래와 같이 가능하다. 프로시저 조회 방법 SELECT * FROM DBA_SOURCE WHERE owner = 'owner 명' AND type = 'PROCEDURE' AND name = 'procedure 명'; 뷰 조회 방법 SELECT * FROM USER_VIEWS WHERE VIEW_NAME = 'view 명'; 참고 포스팅 https://thenicesj.tistory.com/521 [Oracle] procedure 조회 전 포스팅에서 procedure와 function에 대해서 차이와, 선언하는법을 다뤘다. 자세한 내용은 .. 2023. 4. 22.
application.yml / .properties 값 가져오기 (@Value) application.yml 파일과 properties 파일을 다루다 보면 값들을 설정할 때가 있다. 이 파일들이 뭔지 알고 싶다면 아래 참고 포스팅을 참고 바란다. 값이 제대로 설정이 되었는지 보려면 물론 파일로 봐도 되지만, 어디서 가져오는 설정값이라던가 encrypt 된 값이라면 런타임 이후에 값을 알수 있다. 정확히 값이 있는지 확인하려면 아래와 같이 코드에 녹이면 된다. @Value("{spring.value.key}") private String value; System.out.println(value); 로 해주면 설정 값을 알수 있다. 참고 포스팅 https://thenicesj.tistory.com/531 application.properties vs application.yml 본 포스.. 2023. 4. 21.
자바 String 내에서 따옴표 사용법 자바에서 스트링을 사용할때는 큰 따옴표 ( " ) 를 사용하여 묶어준다. 하지만 스트링 안에 따옴표를 또 사용해야할 경우에는 이스케이프 시퀀스 ( \ ) 를 사용해야한다. 그리하여 큰 따옴표는 \" 로 사용을 해야한다. String name = "hi. my name is \"happy\". " 2023. 4. 20.
baeldung 자바와 스프링에 대해서 공부를 할때 다양한 사이트를 참조 하곤 한다. 문법에 대해선 주로 공식홈페이지를 참고 하는데 그만큼 많이 참고하는 사이트가 있다. https://www.baeldung.com/ 바로 이 사이트이다. 발음은 벨덩이라고 칭한다. 2023. 4. 19.
반응형