Database 52

[MySql] Null Vs Not Null Performance

Null Vs Not Null 성능 차이 https://stackoverflow.com/questions/13340702/t-sql-is-not-null-vs-not-null-performancehttp://tip.daum.net/question/62996086 나는 select에서 case문으로 not null 값을 찾아야했는데 혹시나 성능 차이가 있나 싶어서.. 1. select 에서는 큰 성능차이 안남 (sub query가 막 이상한게 아니라면)2. 성능은 where절에서 크게 주도됨 3. if문 보다는 case문이 성능이 나음

Database 2017.08.31

[MySql] OUTER JOIN에서 On과 Where 조건

1. JOIN에서 On 과 Where 조건의 순서차이 join의 on절이 선조건이 됨. 2. MS-SQL 쿼리 ON절과 Where 절의 차이 1. ON절에 조건을 사용할 경우 키값 조인을 하기전에 조건을 제외한다. 2. Where절에 조건을 사용할 경우 테이블 조인의 결과값에 대한 조건검색 결과를 나타낸다. 규칙 LEFT OUTER JOIN 시 ON 절에서는 우측(널값으로 채워지는 쪽)의 추가 제약조건을 넣고 좌측의 추가 제약조건은 WHERE절에 넣어야 한다. 3. LEFT OUTER JOIN 시에 ON절과 WHERE절에 추가 제약 조건 넣는 규칙 규칙 LEFT OUTER JOIN 시 ON 절에서는 우측(널값으로 채워지는 쪽)의 추가 제약조건을 넣고 좌측의 추가 제약조건은 WHERE절에 넣어야 한다 1...

Database 2017.08.25

[MyBatis] #, $ 차이

2021.03.17 업데이트) # => Prepared Statement (동적) 쿼리문을 실행하기에 앞서 구문 분석, 의미 분석, 파싱 작업을 진행하여 SQL Injection 코드를 만나게 되면 오류 발생함 (SQL Injection 대비 가능) $ => Statement (정적) 쿼리 실행시마다 옵티마이저의 수행 계획 달라짐 여기서 유념해야 할 부분은 # 을 사용했을 때에는 ? 으로 치환이 되는 반면에 $ 를 사용한 케이스에서는 $ 영역에 100이라는 상수로 치환되어 쿼리를 수행하게 된다. 중요한 포인트는 101, 102, 103 과 같이 숫자가 바뀔 때마다 파싱 작업을 항상 진행해야 한다라는 것이다. 성능상에 단점이 존재한다라는 것을 알 수 있다. 변수로 인식하지 않게하기 위해서 #{param} ..

Database 2017.06.15
반응형