> 백엔드 개발 > PHP 튜토리얼 > PHP 使用 Mysqli 的 prepare 语句有什么好处?

PHP 使用 Mysqli 的 prepare 语句有什么好处?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-06 16:45:19
원래의
1448명이 탐색했습니다.

回复内容:

《High Performance MySQL》 一书的 225 -228 页。讲的非常详细,我简单整理下:

好处:
(1) Parse the query only once
(2) Perform some query optimization steps only once
(3) Sending parameters via the binary protocol is more efficient than sending them as ASCII text
比如 DATE,对于 Prepare 之后,发送 Date 只用 3 Bytes;如果没有 Prepare, DATE 必须以 String 的形式发送,需要数据库方再解析,这样需要发送 10 Bytes。
(4) Only the parameters (not the entire query text) need to be sent for each execution
(5) MySQL stores the parameteres directly into buffers on the server
(6) Also helps with security, there is no need to escape or quote values.

坏处:
(1) Local to a connection, so another connection cannot re-use
(2) Cannot use MySQL query cache (5.1 版本之前)
(3) Not always more efficient, if you use it only once
(4) Cannot use inside a stored function (Stored procedure 是可以的)
(5) May lead to "leak" if you forget to deallocate it

基本上直接打原文,部分地方稍微做了下改变,以及适当的地方加了补充。 1:安全方面,sql注入这类问题
2:传输体积优化[参数传递]
3:避免重复解析, mysql是非持继连接函数而mysqli是永远连接函数。

也就是说mysql每次链接都会打开一个连接的进程而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿