[ Nexacro.Component 존재 유무 ]

 

 

 trace(this.Tab.page1.isValidObject("Grid01"));
 trace(this.isValidObject(this.Tab));

 trace(this.isValidObject('Tab'));

Posted by 농부지기
,

[ Nexacro - 특수문자 ]

 

 

1. 엔터값

    - String.fromCharCode(10)

    - 엔터값 제거 : nexacro.replaceAll("엔터값 존재 문자열", String.fromCharCode(10), "");

 

 

Posted by 농부지기
,

[MSSQL]SQL 서버 관리자가 알아야 할 11가지 유용한 팁

 

 

http://www.jnetwork.co.kr/bbs/board.php?bo_table=useguide&wr_id=208

Posted by 농부지기
,

[ MSSQL-Connect By. 조직도 조회 ]

 

 

1. 참고 URL : http://roqkffhwk.tistory.com/140

Posted by 농부지기
,

[ tomcat - 각 버전별 download ]

 

1. URL : http://archive.apache.org/dist/tomcat/

 

2. 파일 download

    - 원하는 버전까지 하위 폴더에 접근

    - 32bit 버전 받고 싶을 경우 : apache-tomcat-[version]-windows-x86.zip   과 같은 파일을 찾아서 download

       64bit 버전 받고 싶을 경우 : apache-tomcat-[version]-windows-x64.zip   과 같은 파일을 찾아서 download

'유틸리티 > tomcat' 카테고리의 다른 글

[Tomcat] 메모리 오류 발생시  (0) 2017.07.12
Posted by 농부지기
,

 

 

 

* SQL Server 교육 *


1. 사용자별 CPU
   - Oracle인 경우 Process방식
     . 1인 접속자 기준으로 PGA가 설정되면 CPU가 할당 된다.
     . run -> wait -> ready
     . Context : run중 실행중이 였던 내용을 저장하는 곳.
     .
   - MS Sql인 경우 Thread방식
     . Core당 1개의 Process가 생성됨.
     . Thread 1개당 메모리 512kb 자원이 할당 됨
     . 4 Core기준으로 최대 512개 Thread 생성
     . 1명의 user가(1개의 select문장) cpu를 여러개 사용할 수 있다.

2. hint
   - MS Sql은 hint를 사용하지 않아서 Optimizer가 알아서 모든 처리를 자동으로 해줌.
   - 대용량 select문장을 기술시 패널널로 Optimzer가 수행 시켜줌.

3. Memory
   - 5개 영역으로 구성되어 있음
   - Utility, Lock, Query Work Space(dirty page)(rollback, commit등 페이지), Plan Cash(실행계획), Data Buffer Cash
   - Data Buffer Cash : 한번 읽었던 자원을 메모리 올리는데 이곳이 Data Buffer Cash영역이다.
                      : Logical Reading

4. Covering index
   - select시 조회 컬럼정보가  모두 index컬럼들이면 index영역에서 자료를 조회 하는 기준

5. Tuning
   - set statistics io on;
     set statistics time on;
   - page reading(logical, physical page)하는 갯수를 보여줌.  (자료 읽은 페이지수)
   - 최소 메모리사이즈는  db용량의 10%정도가 권장사항
   - Logical, Physical 속도 : 약 5배 차이
   - Hit 수  : Logical read 수 (ms 권장율은 97%)

6. sql
   - select * from a;
     . *을 사용 하지 말것
     . Covering index를 사용하기 위해서임
   - bind query
     . 한번 날라온 query를 재 사용하게 해줌
     . 대소문자 구분, 중간에 공백등에 의해서 queyr를 해석할지, 그냥 사용할지 구분함
   - addon query.
     . query문장을 재사용하지 않고 계속 sql문장을 재 해석 함.
  
 
7. Procedure
   - sp_ : 를 앞쪽에 붙이면 db서버는 Master db를 먼저 뒤짐
           즉, sp_는 system에 기본 설정 naming rule임
           고로 개발시 앞쪽에 sp_를 붙이면 안됨.
   - exec : 로 Procedure를 수행시 모든 sql문장은 재 해석함.
            addon query라는 용어를 사용함.
   - sp_executesql : 로 sql을 수행해야 sql을 재 해석하지 않음.
   - 해석 : sql문장 parsing, 실행계획 수립... 기타 등등.
  
  

.
8. function
   - f_ : 도 위와 같은 형태로 옮겨짐
   - 

9. schema
   - dbo : default를 사용
   - 되도록 schema는 생성하지 말것
   -

9. Table
   - name : 대문자 권장
   - varchar  : 1byte
     nvarchar : 2byte, unicode, 다국어 지원
                offset을 활용함
                하지만 값이 null인 경우에는 offset이 없음.
   - varchar 와 nvarchar join시 varchar가 nvarchar보다 작기 대문에 varchar가 navarchar로 converting됨
     이렇다 보면 index가 수행되지 않음 (내부적으로 함수를 사용했기 때문)
   - 8k * 8 = 1 extent (한개의 테이블이 속한 최소 단위)
   - nchar : 2byte형 char
           : offset 정보를 활용하지 않음. 자료수가 고정 되었기 때문에
   -

 

11. 1page(8k)
   - Header :
            : time stamp - 최종 수정시각
   - Footer : offset - varchar의 시작위치, 길이를 저장 함
                     - 모든 컬럼의 varchar에 대한 정보가 저장 됨
                     -

 

10. Sequence, indentity
   - indentity : int 보단 bigint를 사용
               : 컬럼의 type임
   - Sequence  : sequece 는 numeric이 좋음 (27,0) (8byte)
               : object임
   -

10. Partition
   - 단점 : index tree가 partion별로 구성 되어 있음
            이 단점을 극복하려면 where조건에 partion을 지정 해야됨
            (참고, oracle에서는 global index를 만듬)
   -

11. isolation
   - Latch, Lock
     . Latch : phycial (물리적인 자원)
             : memory, cpu, process등. 서버의 모든 자원이 Latch
             : page io latch : 조회시 내가 필요한 자원이 memory에 없을 경우 hdd에 가게 되는데 
                               이때 ... page io latch 가 발생
     . Lock  : logical (논리적인 자원)(자료)
             :

12. Lock
   - Share-Lock, eXeclusiv-Lock, Update-Lock, Schema-Lock
   - Share-Lock     :
   - eXeclusiv-Lock :
   - Update-Lock : update전에 where조건절로 찾을 때는 Share-Lock이 발생하고,
                   조건을 찾은 후 Update를 할때는 eXeclusiv-Lock 을 발생 시킴.
   - Schema-Lock :
13. Lock 에스컬레이션
   - Lock 범위 : key -> Row -> Page -> Table -> DB
               : 자동으로 momory등을 보고 위 단계가 상승됨
   - Lock hint를사용 해야됨
   -
  
14.  Undo
   - Oracle : 값을 update시 최종 commit전에는 이전 자료는 undo segment에 저장 됨
              그래서 다른 사용자가 update자료를 select하게 되면 undo segment에서 조회 한다.
   - MS SQL : undo 가능
             
   - Undo 단점 : 대량의 정보를 undate하려면 undo의 용량이 커짐
                 속도도 무한으로 생성 됨
  
  
  
  
  
  
              
select * from sys.sysprocess; 
---------------------------------------------------------------------------------------------

1. connect by

2. int, bigdecimal, numric

---------------------------------------------------------------------------------------------
 Loop join : 결과 자료가 적을 경우
 Hash join : 결과 자료가 많을 경우
  
  
  
  
  
  
  
  
  
  
  

'(DB) MySql > 설치 및 초기DB작업' 카테고리의 다른 글

MySQL.설치 후 기본 설정  (0) 2017.02.28
MySQL - 임시  (0) 2017.01.27
5. MySQL - TABLE 생성  (0) 2017.01.22
4. MySQL - DB 접속  (0) 2017.01.22
3. MySQL - DB 생성  (0) 2017.01.22
Posted by 농부지기
,

MSSQL - LOCK

(DB) MS SQL/LOCK 2017. 4. 12. 14:54

[ MSSQL - LOCK ]

 

/*  MS SQL의 LOCK 개념 *
1. MS SQL 은 기본적으로 레코드 락임
2. MS SQL Server는 SELECT시 LOCK을 걸지 않음
   (내부적으로는 SELECT LOCK이라는게 걸리지만, 이 LOCK은 INSERT, UPDATE LOCK하고는 다름)
*/

 

/* SELECT 종류 */
/*1. 단순 SELECT */
--Insert, Update중에 아래 SELECT문장을 수행 할 경우
--  > 조회결과에 Insert, Update중인 자료가 존재 하면  대기함.
--  > 조회결과에 Insert, Update중인 자료가 존재 하지 않으면 바로 조회 됨.
--단, 이때 index scan인 경우에 해당 됨
--    즉, 만약 full scan인 경우에는 조건절 및 결과절과 관계 없이 모조건 대기함.
SELECT * FROM TEMP_KYH;
SELECT * FROM TEMP_KYH WHERE temp1 = '2';

 

/*2. with(nolock), WITH(READUNCOMMITTED) */
--Insert, Update중 lock이 발생했지만 commit되지 않은 상태라도
--commit되었다 판단하여 자료가 조회 됨
SELECT * FROM TEMP_KYH with(nolock);
SELECT * FROM TEMP_KYH WITH(READUNCOMMITTED);

 

/*3. with(readpast) */
--Insert, Update중 lock이 발생한 레코드를 제외 하고 나머지 자료만 조회
SELECT * FROM TEMP_KYH with(readpast);

 

/*4. with(updlock) */
--SELECT시 UPDATE LOCK을 설정
--조회결과에 Insert, Update중인 자료가 존재시 조회 대기 함.
SELECT * FROM TEMP_KYH WITH (UPDLOCK)  WHERE temp1 = '1';


/* PROCEDURE 개발시 아래 문장존재 하면 좋음 */
--procedure에서 모든 select문장에 with(nolock), with(readpast)을 기술하지 않아도 됨
--SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;   --with(unlock)
--SET TRANSACTION ISOLATION LEVEL READ COMMITTED;     --with(readpast)

참고 url : http://kuaaan.tistory.com/97
Posted by 농부지기
,

[ Oracle Insert - 속도 향상하는 방법 ]

 

 

1. ALTER TABLE 테이블명_1 NOLOGGING;
    - 해당 테이블에서 작업시 훨씬 적은 양의 redo log만을 생성한다.

 

2. insert /*+append*/ into 테이블명_1

      select * from ....;

    - APPEND 힌트를 줌으로써 DIRECT PATH INSERT가 가능하도록 한다.

Posted by 농부지기
,

[ Nexacro.html5 모드로 실행하기 ]

 

1. eclipse 환경
   1. 프로젝트 생성 : Dynamic Web Project
   2. 프로젝트명    : FarmerStudy
   3. Tomcat 연동   : port - 8080

2. nexa환경
   1. runtime 환경에서 Qucik View가 아닌 Launch Project에서 수행이 되어야 html5 모드에서 실행가능
   2. nexa 프로젝트명 : FarmerStudy
   3. nexa -> 메뉴 -> Options > Build : Generate Path : D:\Study\eclipse\workspace\FarmerStudy\WebContent
   4. nexa -> Generate Applicaiton icon 클릭

3. eclipse 폴더 변경
   1. 농부지기 좀더 기술이 늘면 이 작업은 하지 않아도 되도록 문서 변경 ^^
      현재는 이 환경이 초보라 필요
   2. nexa에서 [Generate Applicaiton icon]을 클릭 하면 eclipse 폴더구조에
      /workspace/FarmerStudy/WebContent/FarmerStudy/.. 여기에 nexa js 소스들에 위치 함.
   3. 앞쪽 /workspace/FarmerStudy/ 의 FarmerStudy는 eclipse에서의 Project명이고
      뒤쪽 /WebContent/FarmerStudy/의 FarmerStudy는 nexa에서의 Project명이 된다.
   4. 실적으로 eclipse환경에 맞추기 위해서는 뒤쪽 nava용 FarmerStudy 폴더가 존재하면 안된다.
   5. 결론, /WebContent/FarmerStudy/ 하위에 존재하는 모든 폴더및소스를 /WebContent/밑으로 옮기고
      /WebContent/FarmerStudy/에서 FarmerStudy 폴더는 삭제해 버린다.
   6. 문제점, 이렇게 했을 경우 nexa에서 Generate Application등을 했을 경우 /WebContent/FarmerStudy/폴더가
      다시 생성 된다.
      그래서 차후에 이 부분을 어떻게 해결할지 고민해야 될 부분 이다.

 

 

* * 추가 필요 설정

1. trace 시 Log 출력

    1. FarmerStudy.xadl.js 파일 내부에

        this.set_tracemode("none");   -- this.set_tracemode("append");

Posted by 농부지기
,

[ MS SqlServer. Lock 조회 및 관리방법 ]

 

 

1. Lock 상세 조회 :  http://srzero.tistory.com/147

 

2. Lock 확인 및 IP 추적 : http://supercrat.blog.me/220669558749

'(DB) MS SQL > System관리' 카테고리의 다른 글

MS SQL.PLSQL - 메모리관리  (0) 2017.01.27
Posted by 농부지기
,