거꾸로 바라본 세상
시간
일상 2016. 12. 19. 14:18

시간은 흘러간다 시간은 아무도 기다려주지 않는다 시간은 짧다 그러나 시간은 모든 것을 말해준다 해야할 일을 미루지 말자 나이는 숫자일뿐 열정은 나이를 먹지 않는다 도전하자 포기하지 말자 두려워 말자 시간이 지나고 10년 후 20년 후 나를 되돌아 봤을때 후회하지 않도록

article thumbnail
[DB설계]1. PK 컬럼 순서, 대충하지 말자
Database/Database 2016. 12. 13. 16:50

1. PK 컬럼 순서, 대충하지 말자 여러 개의 컬럼으로 구성된 PK 구성 테이블에서 있는 그대로 테이블을 생성해 버리면 발생하는 문제점1) 인덱스 구성에서 의도하지 않은 순서의 Primary Key Unique Index가 생성된다.2) 그에 따라 SQL 실행 시 성능 저하 현상이 나타날 수 있다.3) 많은 인덱스가 생성되므로 입력/수정/삭제 시 불필요한 내부 작업이 증가해 성능에 악영향을 마친다. 해결방법- 테이블 생성 전에 SQL Where 절을 분석하여 엔티티 타입의 PK 컬럼 순서를 조정하는 작업을 수행해야 한다.(PK 순서 트랜잭션의 처리 유형에 의해 조정) 1-1. PK 구성과 인덱스 이용- 스키마를 생성하기 이전에 데이터 모델의 PK 순서를 조절하지 않은 채 테이블을 생성하면 인덱스를 이용..

[병렬처리]2. 스레드의 안전성
Language/Java 2016. 12. 12. 11:13

2. 스레드의 안전성 도입 2-0-1. 스레드 안전(Thread Safety) - 멀티 스레드 프로그래밍에서 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에는 문제가 없음을 말한다. ex) 하나의 함수가 한 스레드로부터 호출되어 실행 중일 때, 다른 스레드가 그 함수를 호출하여 동시에 함께 실행되더라도 각 스레드에서의 함수의 수행결과가 올바르게 출력되는 것. - 병렬 프로그램에서 단순히 스레드와 락(Lock)만 신경 써서 해결되지 않는다. 스레드와 락은 병렬 프로그램을 올바르게 잘 사용하기 위한 도구일 뿐이다. 2-0-2. 스레드에 안전한 코드를 작성하는 방법 - 공유되고 변경할 수 있는 스레드의 상태에 대한 접근을 관리하는 것 2-0-3. 객체의 상태 - 인..