要查看預處理語句有多少是當前打開的,你可以運行:
SHOW GLOBAL STATUS LIKE 'com_%prepare%';
它給你的東西,如:
Variable_name | Value
-------------------+--------
Com_prepare_sql | 2
Com_stmt_prepare | 2
Com_stmt_reprepare | 0
Com_xa_prepare | 0
讀取實際的語句,你將需要尋找在一般查詢日誌一會兒,然後從中讀取。 我喜歡用一個表爲一般日誌:
-- set up
TRUNCATE TABLE mysql.general_log;
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
-- wait for some time
SET GLOBAL general_log = 'OFF';
-- read results
SELECT * FROM mysql.general_log WHERE argument LIKE 'prepare%' OR argument LIKE 'execute%';
你可以看到正在準備和執行的語句:
command_type | argument
-------------+--------------------------------------------------------
Query | prepare st from "select * from people where name = ?"
Query | execute st Using @name
打開查詢日誌。 – Shadow