mysql - 使用云 SQL 从 MySQL 5.5 迁移到 GAE : Microtime support?

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

背景:

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

由于高性能要求,该项目将大部分业务逻辑存储在存储的 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. 对过程的每个实例的日志条目进行分组(因为过程的多个实例同时运行)。例子: 从日志中选择 * BY call_time

基本上,Microtime 支持对该项目至关重要。

<小时/>

问题:

随着 Google App 引擎的 PHP 版本在过去一年中变得更加成熟,我正在考虑使用 Google Cloud SQL 将项目转移到 GAE 上。

据我所知,Google Cloud SQL 似乎:

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

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

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

最佳答案

你是对的。 Google Cloud SQL 基于 MySQL 5.5,不支持 UDF。 遗憾的是,MySQL 5.6 目前无法在 Cloud SQL 上使用。

关于mysql - 使用云 SQL 从 MySQL 5.5 迁移到 GAE : Microtime support?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22330081/

相关文章:

python - 使用 AJAX 通过用户输入从数据库中检索记录

mysql - 主主复制问题

php - 将默认值为空的非空列保留为空白时出现 MySQL 错误 1366

mysql - 在 Joomla 3.2 中编辑文章 SQL 错误

java - 创建 Spring 数据源以连接到 Google Cloud SQL

mysql - Google Cloud SQL 上的 Spring Boot - org.hibernate.HibernateException : Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

mysql - DATETIME 类型的时间信息可以用 BIGINT 或 DOUBLE 替代(Unix 时间)

php - 在 sql 查询中定义 ORDER

MySQL - 来自一个查询的两条记录集,具有不同的顺序和限制

php - 评级系统 : storing username/ip in db or cookies?