0

背景:

我有一个使用 PHP 5.4.10 和 MySQL 5.5在Laravel 4上运行的项目

由于对性能的要求很高,该项目的大部分业务逻辑都在存储的 MySQL 过程中,并且出于调试和日志记录的目的,每个过程都存储了自己的运行时 - 它开始执行的毫秒数。

由于 MySQL 5.5 不支持毫秒,我最终编译了自己的 UDF,它允许我准确地以毫秒存储当前的 unix 时间戳。(参见 Github 上的 MICROTIME)。

如果为写入日志的过程设置了标志,则该运行时值可用于:

  1. 计算程序在写入日志时运行了多长时间。例子:
    INSERT INTO Log(call_time,run_time,message) VALUES(@t, MICROTIME()-@t, @m)

  2. 为过程的每个实例分组日志条目(因为一个过程的多个实例同时运行)。例子: SELECT * FROM Log ORDER BY call_time

基本上,Microtime 支持对于这个项目至关重要。


问题:

随着谷歌应用引擎的 PHP 版本在去年已经成熟很多,我正在考虑使用谷歌云 SQL 将该项目转移到 GAE 上。

从我读过的内容来看,谷歌云 SQL 似乎是:

  1. 不允许 UDF 的
  2. 基于 MySQL 5.5

那是对的吗?我可以在 Google Cloud SQL 上使用任何潜在的解决方法来允许我使用微秒吗?

例如,MySQL 5.6 似乎提供微秒支持。有什么方法可以在 Google Cloud SQL 上使用 MySQL 5.6?

4

1 回答 1

0

你是对的。Google Cloud SQL 基于 MySQL 5.5,不支持 UDF。不幸的是 MySQL 5.6 目前在 Cloud SQL 上不可用。

于 2014-03-11T20:43:20.907 回答