我的PHP应用程序中的所有MySQL表都是带有utf8编码的MyISAM。由于可以在辅助应用程序脱机时生成记录,所以我的表键是随机生成的,字母数字VARCHAR;这些字段被设置为utf8_bin编码的二进制,这样它们就可以区分大小写。我立即开始看到性能问题,在其中一个较大的表上复杂的SELECT查询需要超过一分钟,然后其他查询排队等待表锁。我将该表上主键字段的编码更改为utf8,性能恢复到正常状态。然而,我现在拥有的是:
MySQL [(none)]> SHOW
我使用mysql临时表在几个存储过程之间共享一些中间数据。所有这些过程都使用单个数据库连接。在每个SP中,我需要确定mysql临时表是否已经存在。如果它已经存在,那么我将使用它的值,否则SP将创建并填充临时表和其他SP(当然是在相同的连接上!)将使用临时表结果。但是我不知道应该如何检查临时表是否已经存在,我的意思是这样的:
IF temporaryTablenam
这在MySQL中是可能的吗?我有一个叫做"doc_init“的进程(在一个文档表中)我需要调用doc_xxx_init,然后在里面它必须做的第一件事是调用我的问题是:如何存储行,以便在doc_xxx_init中的其余处理过程中可以访问某些列?could access that row like tempRow.id, or tempRow.anyColumn*/
我见过很多关于如何从一个过程调用另一个过程的示例,但没有