Prepared Statement의 송수신시 패킷은 보통 SQL문 실행할 때와 상당히 다르다.
보통 SQL에서는 한번 왕복으로 완료되지만 Prepared Statment의 경우에는 Prepare할 때, Execute할 때에 각각의 패킷이 주고 받아진다 .
패킷 flow
클라이언트 -> 서버 ①Prepare Command Packet(mysql_stmt_prepare())
서버->클라이언트 ②Prepare Packet(_Header Packet, _Placeholder Packets, _EOF Packet, _Field Packets, _EOF Packet)
클라이언트->서버 ③Execute Command Packet(mysql_stmt_execute())
서버->클라이언트 ④Execute Packet(_ResultSet Header Packet, _Field Packets, _EOF Packet, PreparedStatement Row Data Packets, _EOF Packet)
Prepare할 때(MySQL C API에서는 mysql_stmt_prepare()에 해당한다. )에 어떤 패킷들이 주고 받아지는지 알아보자.