mysql_stmt_prepare failed! error(1461)Can't create more than max_prepared_stmt_count statements (current value: 16382)
给出的回复如下:
max_prepared_stmt_count参数限制了同一时间在mysqld上所有session中prepared 语句的上限。
它的取值范围为“0 - 1048576”,默认为16382。
mysql对于超出max_prepared_stmt_count的prepare语句就会报1461的错误。
mysql> show global status like '%stmt%';
+----------------------------+--------+
| Variable_name | Value |
+----------------------------+--------+
| Binlog_stmt_cache_disk_use | 0 |
| Binlog_stmt_cache_use | 0 |
| Com_stmt_close | 142593 |
| Com_stmt_execute | 170302 |
| Com_stmt_fetch | 0 |
| Com_stmt_prepare | 157761 |
| Com_stmt_reprepare | 0 |
| Com_stmt_reset | 0 |
| Com_stmt_send_long_data | 0 |
| Prepared_stmt_count | 4 |
+----------------------------+--------+
10 rows in set (0.06 sec)
mysql> set global max_prepared_stmt_count=124000;
Query OK, 0 rows affected (0.00 sec)