MySQL 사용자 정의 변수의 개념 및 특징

MySQL 의 사용자 정 의 는 저장 값 의 임시 용기 입 니 다.서버 와 의 연결 이 활성화 되면 용기 의 값 을 저장 하고 사용 할 수 있 습 니 다.간단 한 SET 나 SELECT 문 구 를 통 해 사용자 정의 변 수 를 설정 할 수 있 습 니 다.다음 과 같 습 니 다.

SET @one := 1;
SET @min_actor := (SELECT MIN(actor_id) FROM sakila.actor);
SET @last_week := CURRENT_DATE-INTERNAL 1 WEEK;
변 수 를 정의 하면 SQL 구문 에서 이 변 수 를 사용 할 수 있 습 니 다.

SELECT * FROM film WHERE created_date <= @last_week;
MySQL 사용자 정의 변수 가 매우 강하 지만 사용자 정의 변수 자체 에 도 결함 이 있다 는 것 을 알 아야 합 니 다.이러한 결함 은 다음 과 같 습 니 다.
  • 사용자 정의 변 수 는 검색 캐 시 를 사용 하지 않 습 니 다.
  • 은 표 이름 이나 열 이름,또는 LIMIT 자구 에서 사용 할 수 없습니다.
  • 사용자 정의 변 수 는 단일 연결 을 기반 으로 하기 때문에 크로스 연결 을 사용 할 수 없습니다.
  • 연결 탱크 나 지속 적 인 연결 을 사용 하면 사용자 정의 변 수 는 코드 와 상호작용 을 격 리 시 킬 수 있 습 니 다.이 경우 코드 의 bug 나 연결 탱크 의 bug 일 수 있 지만 발생 할 수 있 습 니 다.
  • 은 MySQL 5.0 이전 버 전에 서 대소 문자 가 민감 하기 때문에 주의해 야 한다(MySQL 5.0 이후 대소 문 자 를 구분 하지 않 음).
  • 은 변수 유형 을 표시 할 수 없 지만 실제 변수의 유형 은 불확실 한 유형 추정 에 의존 하고 서로 다른 버 전에 차이 가 있 을 수 있 습 니 다.가장 좋 은 방법 은 처음에 정 의 를 내 릴 때 유형 을 지정 하 는 것 입 니 다.예 를 들 어 0 으로 정수 변 수 를 설정 하고 0.0 으로 부동 소수점 변 수 를 설정 하 는 것 입 니 다.'문자열 에 사용 합 니 다.그러나 뒤에 새로운 값 이 지정 되면 형식 은 새로운 값 에 따라 달라 집 니 다.이것 은 MySQL 의 사용자 정의 변수의 유형 이 동적 이기 때 문 입 니 다.
  • 최적화 기 는 특정한 상황 에서 사용자 정의 변 수 를 최적화 시 켜 원 하 는 방식 으로 조회 할 수 없 게 할 수 있다.
  • 할당 순서,심지어 할당 시간 까지 불확실 합 니 다.이것 은 최적화 기 가 선택 한 조회 계획 에 달 려 있 습 니 다.그래서 최종 결 과 는 당 혹 스 러 울 수 있다.
  • 할당 연산 자의 우선 순위 가 다른 연산 자 보다 낮 기 때문에 괄호 를 표시 해 야 합 니 다.
  • 정의 되 지 않 은 변 수 는 잘못 보고 하지 않 습 니 다.이 는 오류 가 발생 할 수 있 습 니 다.
  • 사용자 정의 변 수 는 SELECT 문장 뿐만 아니 라 모든 종류의 문장 에 사용 할 수 있 습 니 다.사실상 이것 은 사용자 정의 변수의 가장 큰 장점 이다.예 를 들 어 우 리 는 하위 조 회 를 이용 하여 정렬 된 계산 을 하거나 낮은 대가 의 UPDATE 문 구 를 완성 하 는 등 복잡 한 조 회 를 다시 쓸 수 있다.
    어떤 때 는 유 틸 리 티 가 이 변 수 를 컴 파일 할 때 상수 라 고 생각 하고 할당 을 하지 않 으 면 기대 하 는 행동 이 이상 하 다.사용자 정의 변수의 할당 을 LEAST 함수 에 넣 으 면 이 문 제 를 피 할 수 있 습 니 다.다른 방법 은 사용 하기 전에 사용자 정의 변수 가 값 이 있 는 지 확인 하 는 것 이다.때때로 너 는 이렇게 하고 싶 지만,때때로 너 는 이렇게 하고 싶 지 않다.
    작은 실험 을 통 해 우 리 는 사용자 정의 변 수 를 사용 하여 재 미 있 는 일 을 많이 할 수 있다.예 를 들 어:
  • 총량 과 평균 치 를 계산한다.
  • 그룹 조회 시 뮬 레이 션 FIRST 와 LAST 함수;
  • 은 매우 큰 숫자 에 대해 수학 연산 을 한다.
  • 시 계 를 MD5 해시 값 으로 변환 합 니 다.
  • 0 0 값 부근 을 걸 러 냈 으 나 경 계 를 설정 한 견본 값 을 초과 하 였 습 니 다.
  • 아 날로 그 읽 기와 쓰기 지침 위치;
  • 은 WHERE 조건 에 변 수 를 삽입 하고 SHOW 구문 에 표시 합 니 다.
  • 사용자 정의 변 수 는 일부 응용 장소 에서 매우 유용 하 다.예 를 들 어 발생 횟수 의 정렬 값 을 통계 하고 같은 데 이 터 를 업데이트 하고 삽입 하 는 횟수 를 계산 하 며 지연 되 는 공동 조회 등 이다.다음 글 은 구체 적 인 용법 을 소개 할 것 이다.
    이상 은 MySQL 의 사용자 정의 변수의 개념 과 특징 에 대한 상세 한 내용 입 니 다.MySQL 사용자 정의 변수 에 대한 자 료 는 다른 관련 글 을 주목 하 십시오!

    좋은 웹페이지 즐겨찾기