> 데이터 베이스 > MySQL 튜토리얼 > MySQL의 전처리 기술이란 무엇입니까? 전처리 기술 사용

MySQL의 전처리 기술이란 무엇입니까? 전처리 기술 사용

青灯夜游
풀어 주다: 2018-11-13 16:06:05
앞으로
3582명이 탐색했습니다.

이 글의 내용은 MySQL의 전처리 기술이 무엇인지 소개하는 것입니다. 전처리 기술을 사용합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

일명 전처리 기술은 원래 MySQL이 서버 부담을 줄이기 위한 기술로 제안한 것입니다!

기존 mysql 처리 흐름

1, 클라이언트에서 sql 문 준비

2, sql 문을 MySQL 서버로 보내기

3, MySQL 서버에서 sql 문 실행

4, 서버가 실행 결과를 반환 결과는 클라이언트에게

이렇게 하면 각 sql 문이 한 번 요청되고 mysql 서버는 이를 한 번 받아 처리하게 됩니다. 스크립트 파일이 동일한 문을 여러 번 실행하면 mysql 서버에 부담이 커지게 되므로 mysql 서버에 대한 부담을 줄이기 위해 전처리가 발생합니다!

기본 전처리 전략:

SQL 문을 강제로 두 부분으로 나눕니다.

첫 번째 부분은 이전과 동일한 명령 및 구조 부분입니다.

두 번째 부분은 나중에 변수 데이터 부분입니다

SQL 실행 시 명령문을 작성하려면 먼저 이전과 동일한 명령 및 구조 부분을 MySQL 서버에 보내고 MySQL 서버가 미리 전처리를 수행하도록 하십시오. (SQL 문의 구조적 무결성을 보장하기 위해 현재 sql 문은 실제로 실행되지 않습니다.) , 두 번째에서는 SQL 문을 한번에 보낼 때 변수 데이터 부분은 데이터 자리 표시자로 표시됩니다! 물음표 같은 거요? 일반적인 데이터 자리 표시자입니다!

MySQL 전처리에는 매개변수를 사용한 전처리/매개변수 없는 전처리의 두 가지 형태가 있습니다.

1. 매개변수 없는 전처리

먼저 표의 데이터를 확인하세요!

1. 준비된 문을 준비합니다.

"전처리된 sql 문"에서 문 이름을 준비합니다. 준비된 문장을 실행하세요

execute

문 이름;

prepare sql_1 from "select * from pdo";
로그인 후 복사

3. 전처리 삭제

drop prepare

문 이름;

execute sql_1;
로그인 후 복사

 

삭제 후 전처리 가능 더 이상 수행되지 않습니다!

2. 매개변수를 사용한 전처리

1. 준비된 문 준비

prepare

"

preprocessed sql

statement"에서 문 이름;

drop prepare sql_1;
로그인 후 복사
2 . 매개변수 변수 정의

set @

변수 이름 =

--여기서 @는 MySQL에서 변수를 정의하기 위한 문법 형식입니다(PHP의 $ 기호와 유사)

prepare sql_2 from "select * from pdo where id = ?";
로그인 후 복사

3, 매개변수 변수를 전달하고 준비된 문을 실행

execute

문 이름을

매개변수 변수를 사용하여

set @id=2;
로그인 후 복사

 4, 전처리 문 삭제 처리

준비하세요

명령문 이름;

execute sql_2 using @id;   --选出id=2的信息
로그인 후 복사
 

참고: 데이터 자리 표시자가 두 개 이상인 경우 데이터 자리 표시자 순서대로 매개변수를 전달하세요.

drop prepare sql_2;
로그인 후 복사

  

prepare sql_2 from "select * from pdo where id > ? && age > ?";
로그인 후 복사

 

set @id=2;
set @age=30;
로그인 후 복사

Note 그 여기서 알 수 없는 매개변수는 1단계의 자리표시자와 일치해야 합니다.

위는 MySQL 전처리입니다. 스크립트 파일에서 SQL 문을 전처리하는 효과는 특정 문을 반복적으로 실행할 때 사용됩니다. 개선됩니다!

위 내용은 MySQL의 전처리 기술이란 무엇입니까? 전처리 기술 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿