반응형 전체 글1100 Java jdbc사용(executeQuery, executeUpdate, ResultSet, Connection, PreparedStatement) jdbc 에 대한 내용은 아래 참고 포스팅 참고 바란다. 이번 포스팅에서는 java 에서 간단히 사용할 jdbc 코드 예제를 적어둘 것이다. import java.sql.*; public class TEST { public static void main(String[] args){ Connection con = null; ResultSet rs = null; PreparedStatement psmt = null; //JDBC 연결 관련 //JDBC 연결 관련 //JDBC 연결 관련 //JDBC 연결 관련 //JDBC 연결 관련 try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@localhost:15.. 2024. 1. 31. [Oracle] EXTRACT 함수 관련 Oracle 에서 EXTRACT 라는 함수가 존재한다. 날짜 정보를 분리해서 각각 새로운 형태로 추출을 해주는 함수이다. 설명으로 들어서는 이해가 잘 안갈수도 있으니 직접 예시를 보여주면 테이블에 날짜 변수가 담긴 X로부터 특정한 날짜요소를 추출하여 새로운 컬럼으로 반환하는 SQL 쿼리 문장의 형태는 다음과 같다. SELECT EXTRACT ('Option' FROM X) as DATE_OPTION FROM TABLE; '날짜요소'에 투입하는 항목에 따라, 날짜 데이터로부터 얻을 수 있는 값이 달라지게 됩니다. Option 에 존재하는 날짜 요소는 아래와 같다. SQL 쿼리에서의 날짜요소 표시 날짜 정보 YEAR 연도 MONTH 월 DAY 일 HOUR 시 MINUTE 분 SECOND 초 즉 아래 쿼리.. 2024. 1. 30. instr(), like 차이 및 비교 database 에서 컬럼 내 특정 문자열을 찾기위해서 많은 방법이 있다. 대부분 like 를 사용하겠지만, instr 이라는 함수와 함께 알아볼 것이다. 사용법은 둘다 간단하다. 컬럼 내에서 test라는 문구를 찾으려면 like 사용 SELECT * FROM TABLE WHERE COL LIKE '%test%'; instr 사용 SELECT * FROM TABLE WHERE INSTR(COL, 'test'); 현재 쿼리에서는 둘 다 당연히 인덱스를 활용하지는 못한다. 하지만 like문에서는 'test%' 로 설정을 해서 test로 시작하는 ~~ 을 구할수가 있다. 둘의 속도 비교 해보았고 결론은 like 'ABC%' 일때 : 앞에 %가 없을때는 like 사용 like '%ABC%' or '%ABC' 일.. 2024. 1. 29. Java 옵션 명령어 정리 사용법: java 또는 java -jar file.jar options: 옵션 classfiles: 호출될 클래스 파일 이름 file.jar: 호출될 jar파일 이름 argument:main함수에 파라미터로 보내질 문자열 예를 들어, main함수를 포함하는 Hello.class 파일이 존재할경우, java Hello 로 프로그램을 실행시킬수 있는데, 확장자인 class는 생략할수 있지만, 대소문자는 구별하므로, 정확하게 기입해야 한다. java Hello Greeting 처럼 Greeting을 덧붙일경우, main함수에 문자열인자로 Greeting을 보낼수 있다. 옵션 종류 -client: 자바 HotSpot Client VM을 선택한다. (디폴트 값이다) -server: 자바 HotSpot Server.. 2024. 1. 28. Java Stream 으로 두 List 비교 Match 메소드 예제 allMatch() : 모든 요소들이 매개 값(Predicate)로 주어진 조건을 만족하는지 조사 anyMatch() : 최소한 한 개의 요소가 주어진 조건에 만족하는 지 조사 noneMatch() : 모든 요소들이 주어진 조건을 만족하지 않는지 조사 class Test { public static void main(String[] args) { int[] intArray = {10, 20, 30}; boolean allResult = Arrays.stream(intArray).allMatch(a -> a % 10 == 0); boolean anyResult = Arrays.stream(intArray).anyMatch(a -> a % 10 == 0); boolean noneRes.. 2024. 1. 27. deleteAll(), deleteAllInBatch(), deleteInBatch() deleteAll() delete로 해당 id를 하나하나 있는지 검사하면서 지움 N수 만큼 반복문이 돌게 된다. deleteAll()은 성능이슈로 인해 거의 사용하지 않는다. 대용량의 데이터가 있을경우 for문을 하나하나 돌면서 사용하기 때문에 보통 천만건이 넘는 것을 사용할 경우 deleteAllInBatch를 사용한다. 실제 hibernate 쿼리 select a,b,c from table ; //n 수만큼 반복 delete from table where id = ?; delete from table where id = ?; delete from table where id = ?; deleteAllInBatch() findAll이나 findById를 사용하지 않았기 때문에 delete이전에 selec.. 2024. 1. 26. [Oracle] Unix Time To oracle sql (소수점 까지 f 로 ) Unix Time To 일반 시간 SELECT TO_CHAR(TO_DATE('19700101090000', 'YYYYMMDDHH24MISS') +( UNIXTIME/86400),'MM/DD HH24:MI:SS') FROM TABLENAME; 만약 milli seconds 까지 있다면 86400 이 아닌 86400000으로 나눠야한다. 일반 시간 To Unix Time SELECT TO_NUMBER( DATETIME-TO_DATE('01-Jan-1970 00:00:00', 'DD-Mon-YYYY HH24:MI:SS'))*24*60*60 FROM TALBENAME; 만약 milliseconds 까지 있다면 (3자리 경우) TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:M.. 2024. 1. 25. 파티셔닝 이란? 파티셔닝이란? 데이터 사이즈가 큰 테이블을 두 개 이상의 작은 테이블로 나누는 것을 파티셔닝이라고 한다. 보통 쿼리가 스캔할 데이터의 범위를 좁혀서 응답시간을 빠르게 하기 위한 목적으로 사용한다. http://wiki.hash.kr/index.php/%ED%8C%8C%ED%8B%B0%EC%85%94%EB%8B%9D 파티셔닝 - 해시넷 파티셔닝(partitioning)은 데이터베이스를 여러 부분으로 분할하는 것이다. 데이터베이스의 분할은 중요한 튜닝 기법으로 데이터가 너무 커졌을때, 조회하는 시간이 길어졌을 때 또는 관리 용이성, wiki.hash.kr 하나의 공간에 데이터를 모두 저장하기에 너무 크고 부담일 경우에 나눠서 저장하는데 수직 분할과 수평 분할이 있다. 수직분할 수직 분할은 간단히 정규화와 비.. 2024. 1. 24. [Mysql] Specified key was too long 특정 테이블에 index를 걸고자 할때 아래 에러가 발생하였다. Error Code: 1071. Specified key was too long; max key length is 3072 bytes 원인은 해석 그대로 이다. 인덱스에 사용하는 글자 최대 크기가 정해져있다는것이다. 테이블에 사용하는 인코딩은 UTF8MB4 였고 여기서 한 글자당 4byte를 잡아먹는다. 3072 바이트를 넘을수 없다면 대략 750 글자까지만 허용이 가능하다. 인코딩에 따라 글자 byte수가 다르니 확인해야하고, 인덱스는 별도의 공간을 차지하기에 이렇게 큰 값은 인덱스로 배제하는것이 좋은 선택일듯 싶다. 2024. 1. 23. 이전 1 ··· 30 31 32 33 34 35 36 ··· 123 다음 반응형