굿모닝3 여름이 다가오고있습니다!!

지금부터 천천히 몸을 만들기 위해 보충제를 찾고 찾고 또 찾았습니다.


보충제는 가격도 다양하고 종류도 엄청 많더군요ㅠㅠ ???

살찌울려는제품도 있고, 균형있게 근육과 살을 찌울려는 제품도 있고, 근육만 늘리려는 단백질만있는 제품만 있고...

저는 이미 살이 있기 때문에 단백질만 보충하기로 했답니다. 생각중


게이너클럽에 하드폼웨이는 단백질을 보충하는 제품입니다.



보충제는 꾸준히 먹어야 하기떄문에 가격도 저렴하고 자신에 맞는 보충제를 찾아야 한다고 배웠는데요~ 

그런 면에선 가격대비 맛도 맛있어요~ 비린냄새는 안나더군요!

2개 샀더니 행사로 근육 및 관절 보호 크림을 받았어요. 개이득ㅎㅎ 2통 해서 1+1로 52000에 구입했습니다~


블로그 이미지

김진리

,

참조테이블 : test_table

칼럼 : age , hakbun , grade


인덱스 생성

CREATE  INDEX  인덱스_이름  ON 참조테이블  ( 칼럼 )

- CREATE  INDEX  AGE_INDEX  ON  TEST_TABLE  (AGE)


인덱스 삭제

ALTER  TABLE  테이블_이름  DROP  INDEX  인덱스_이름

 - ALTER  TABLE  TEST_TABLE  DROP  INDEX  AGE_INDEX


결합 인덱스 생성

CREATE  INDEX  인덱스_이름  ON 참조테이블  칼럼 ,칼럼 , 칼럼)

- CREATE  INDEX  AGE_INDEX  ON  TEST_TABLE  (AGE ,hakbun , grade )


인덱스를 참조했는지 테스트 하는법

EXPLAIN SELECT 쿼리~~

ex) EXPLAIN SELECT * FROM STUDENT;


각 칼럼의 의미

  • table                사용한 테이블. 조인일 경우는 행이 여러 개로 나온다.
  • type                 가장 중요한 것 중에 하나이며, 조인이 사용되었는지 말해준다.
  •                         가장 좋은 타입부터 가장 나쁜 타입은 system, const, eq-ref, ref, range, index, all 이다.

                            Type에 all이나 index, range 등이 보일 경우는 쿼리가 그다지 빠르지 않다는 것을 의미한다.

     

              system : 테이블이 하나의 레코드만 가지는 경우
              const  : 테이블에 조건을 만족하는 레코드가 하나일 때, 상수 취급
              eq_ref : 인덱스가 UNIQUE이거나 PRIMARY KEY인 경우의 조인으로 const를 제외한 조인 중 가장 좋은 형태
              ref    : eq_ref와 다른 점은 UNIQUE나 PRIMARY KEY가 아닐 경우 사용한다는 것.
              range  : 조건에 레코드의 범위가 주어진 조인.
              index  : all 형태와 비슷하며, 인덱스를 사용한다.
              all    : 모든 레코드를 스캔한다.

     

  • possible_keys    사용 가능한 키(인덱스)
  • key              사용하고 있는 키(인덱스)
  • key_len          키가 사용된 길이. 작을수록 좋다(int는 4바이트, char(10)은 10바이트를 차지한다.
  •                  테이블에서 데이터형의 결정은 되도록이면 int나 smallint, medianint를 사용하는 것이 좋다).

  • ref              칼럼이나 상수(const)가 사용되었는지 말해준다.
  • rows             인덱스 범위를 나타낸다. 작을수록 역시 빠르다.
  • Extra            정보- "using temporary"나 "using filesort"는 가장 좋지 않다.
  •  

              distinct : 조건을 만족하는 레코드를 찾았을 때 같은 조건을 만족하는 또 다른 레코드가 있는지 검사하지 않음.
              not exist : left join 조건을 만족하는 하나의 레코드를 찾았을 때 다른 레코드의 조합은 더 이상 검사하지 않는다.
              range checked for each record : 최적의 인덱스가 없는 차선의 인덱스를 사용한다는 의미.
              using filesort : mysql이 정렬을 빠르게 하기 위해 부가적인 일을 한다.
              unsing index : select 할때 인덱스 파일만 사용
              using temporary : 임시 테이블을 사용한다. order by 나 group by 할때 주로 사용
              where used : 조건을 사용한다는 의미.



    위의 각 칼럼의 의미 [출처] 최적화를 위한 분석(PROCEDURE ANALYSE, EXPLAIN SELECT) |작성자 너만을



    오라클에서는 인덱스를 여러개를 생성하면 전부 사용가능하지만 mysql에선 인덱스를 하나밖에 사용하지 못한다고 합니다. 여러개의 인덱스를 한번에 사용하려면 결합인덱스를 생성하면 사용하실수 있습니다.


    ex)  - CREATE  INDEX  AGE_INDEX  ON  TEST_TABLE  (AGE ,hakbun , grade )  


    SELECT  *  FROM  TEST_TABLE  WHERE AGE = '' AND HAKBUN = '' AND GRADE = ''  

    3개의 조건이 동일시 사용할 경우 인덱스 사용법


    - EXPLAIN 시 Extra 칼럼에 Using Temporary, Using filesort 라는 값이 나타날 경우 느린 결과를 초래하기때문 피해셔야 합니다.

    group by 를 사용할 경우 order by null 추가 생성으로 피할 수 있습니다.

    블로그 이미지

    김진리

    ,

    net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '바탕' is not available to the JVM. See the Javadoc for more details.


    jasperreports 를 사용하면서 한글os -> 영문os  ,  영문os -> 한글os 간  사용을 하다보면 폰트가 존재하지 않는다고 에러가 나옵니다. 이럴 경우!!?


    jasperreports-x.x.jar 파일의 옵션을 바꾸시면 되는데 가장 익숙한 이클립스를 사용하여 옵션을 수정해 보겠습니다.




    먼저 이클립으로 java 빈 프로젝트를 생성해주시고


    프로젝트 오른쪽 버튼에서 임포트기능!!


    Archive File 을 선택하셔서 사용하시는 jasperreport,jar 파일을 추출합니다.


    위와 같이 불러 오시구요 Finish를 합니다.



    속성값에 : missing.font = true 로 수정해 주시면 됩니다


    그리고 다시 jar파일로 묶는 과정입니다. 프로젝트를 오른쪽 눌르셔서 jar file로 하시구 이름을 jarperrerport.jar 과 같은 전에 사용하시던 파일 이름으로 덮어쓰시면됩니다.


    그리고 다시 jar를 배포하셔서 테스트 하시면 끝!


    블로그 이미지

    김진리

    ,