php에서 PDO를 통해

prepare / execute / fetch를 통해 수행하는 것과

query / fetch를 하는게 있길래 찾아보니..


얘는 엄밀하게 mysql의 지원기능이라고 해야 하려나?

mysql> SET @s = 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';

mysql> PREPARE stmt2 FROM @s;

mysql> SET @a = 6;

mysql> SET @b = 8;

mysql> EXECUTE stmt2 USING @a, @b;

+------------+

| hypotenuse |

+------------+

|         10 |

+------------+

mysql> DEALLOCATE PREPARE stmt2; 

[링크 : https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html]


prepare는 mysql 내부에서 치환을 통해 어떠한 수행을 할 수 있는 일종의 매크로 같은 개념으로

확장해서 사용할 수 있도록 하는 건데..


성능상의 차이가 없다면.. php에서 query문을 직접 변수 치환해서 하는게 편할수도 있을테니

어느게 좋고 어느게 나쁘다 라고 하긴 애매 할 듯.

관리적인 측면에서는 쿼리문을 쫘악 정리하고 변수 치환만 해서 쓰도록

php에서 변수 대입을 하던 mysql 에서 prepare로 하던 똑같으니까?


[링크 : http://www.codeigniter-kr.org/bbs/view/qna?idx=9891]

[링크 : http://stackoverflow.com/questions/4700623/pdos-query-vs-execute]


'프로그램 사용 > mysql & mariaDB' 카테고리의 다른 글

mysql 테이블 내 일정 문자열 치환하기  (0) 2017.01.26
mysql 암호화 방법들...?  (0) 2017.01.16
mysql mariadb 호환성  (0) 2017.01.12
mysql 트랜잭션  (0) 2017.01.12
mysql blob - binary large object  (0) 2017.01.12
Posted by 구차니