背景:
我有一个使用 PHP 5.4.10 和 MySQL 5.5在Laravel 4上运行的项目
由于对性能的要求很高,该项目的大部分业务逻辑都在存储的 MySQL 过程中,并且出于调试和日志记录的目的,每个过程都存储了自己的运行时 - 它开始执行的毫秒数。
由于 MySQL 5.5 不支持毫秒,我最终编译了自己的 UDF,它允许我准确地以毫秒存储当前的 unix 时间戳。(参见 Github 上的 MICROTIME)。
如果为写入日志的过程设置了标志,则该运行时值可用于:
计算程序在写入日志时运行了多长时间。例子:
INSERT INTO Log(call_time,run_time,message) VALUES(@t, MICROTIME()-@t, @m)
为过程的每个实例分组日志条目(因为一个过程的多个实例同时运行)。例子:
SELECT * FROM Log ORDER BY call_time
基本上,Microtime 支持对于这个项目至关重要。
问题:
随着谷歌应用引擎的 PHP 版本在去年已经成熟很多,我正在考虑使用谷歌云 SQL 将该项目转移到 GAE 上。
从我读过的内容来看,谷歌云 SQL 似乎是:
- 不允许 UDF 的
- 基于 MySQL 5.5
那是对的吗?我可以在 Google Cloud SQL 上使用任何潜在的解决方法来允许我使用微秒吗?
例如,MySQL 5.6 似乎提供微秒支持。有什么方法可以在 Google Cloud SQL 上使用 MySQL 5.6?