使用云SQL从MySQL 5.5迁移到GAE:Microtime支持?

时间:2014-03-11 15:24:55

标签: mysql google-cloud-sql mysql-5.5 microtime mysql-5.6

背景:

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

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

由于MySQL 5.5不支持毫秒,我最终编译了自己的UDF,这使我能够准确地存储当前的unix时间戳,以毫秒为单位。 (See MICROTIME on Github)。

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

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

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

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


    问题:

    在过去的一年里,谷歌的App引擎的PHP版本已经成熟了,我正考虑将该项目转移到使用Google Cloud SQL的GAE。

    据我所知,Google Cloud SQL似乎是

    1. 不允许使用UDF
    2. 基于MySQL 5.5
    3. 这是对的吗?我可以在Google Cloud SQL上使用哪些可能的解决方法来允许我使用微秒?

      例如,MySQL 5.6似乎提供微秒级支持。有没有办法在Google Cloud SQL上使用MySQL 5.6?

1 个答案:

答案 0 :(得分:0)

你是对的。 Google Cloud SQL基于MySQL 5.5,不支持UDF。 不幸的是,目前在Cloud SQL上还没有提供MySQL 5.6。