问题标签 [mysql-5.6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
168 浏览

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

背景:

我有一个使用 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?

0 投票
1 回答
182 浏览

geocoding - 为什么 Spatial Datatype 不能保持超过 15 位的精度,因为它使用 Double 来保存数据?

我正在尝试将 Geo CoOrdinates 存储在 mysql 数据库服务器中。如果我的坐标精度值超过 15 位,则该值会四舍五入并存储在数据库中。我相信这是因为这个文档而发生的。

但有趣的信息是 当我尝试使用双数据类型存储相同的坐标时。我可以存储高达 17 位的精度。

空间数据类型还将每个坐标存储为内部的双精度值。那么为什么 Spatial 数据类型不能存储超过 15 位的精度呢?我必须存储高达 20 位的精度现在该怎么办?

0 投票
0 回答
605 浏览

java - 升级到 MySQL 5.6 并在重新运行单元测试时恢复数据库后的 java.io.EOFException

我有一个 Java 应用程序,我们升级到 MySQL 5.6。当我恢复以前使用 mysqldump 转储的数据库mysql <并尝试在 IntelliJ 中重新运行单元测试时,我收到以下异常 -

我可以使用 mysql 命令行客户端成功连接。

MySQL 是 5.6.16 自制软件。

JDBC 驱动程序是 MySQL Connector/J 5.1.29。

操作系统是 OS X 10.9.2 (13C64)。

如果我重新启动 MySQL,这可以解决问题。我正在寻找这个问题的答案是如何避免这种重启。谢谢。

0 投票
1 回答
46 浏览

mysql-5.6 - 不明白为什么会出现错误 1215:无法添加外键

我在创建数据库表时遇到问题。我做过类似的事情:

CREATE TABLE STREAM( STREAM_ID INT AUTO_INCREMENT NOT NULL PRIMARY KEY, STREAM_NAME VARCHAR(100) NOT NULL, TOTAL_SEM INT NOT NULL )Engine=InnoDB;

接着:

CREATE TABLE SEMESTER( STREAM_ID INT AUTO_INCREMENT NOT NULL, SEMESTER INT NOT NULL, SUB_NAME VARCHAR(100) NOT NULL, SUB_CODE VARCHAR(100) NOT NULL, PRIMARY KEY(STREAM_ID,SUB_CODE), CONSTRAINT STUDENT_STREAM_FK5 FOREIGN KEY (STREAM_ID) REFERENCES STREAM(STREAM_ID) )Engine=InnoDB;

它很好地创建了数据库表。但是当我创建另一个引用SUB_CODEinSEMESTER表的表时,它给了我错误:1215:

CREATE TABLE SUBJECT( Q_NO INT AUTO_INCREMENT NOT NULL, SUB_CODE VARCHAR(100) NOT NULL, SEMESTER VARCHAR(100) NOT NULL, SET_NO INT NOT NULL, Q_TYPE VARCHAR(100) NOT NULL, QUESTION VARCHAR(200) NOT NULL, CHOICE_1 VARCHAR(30), CHOICE_2 VARCHAR(30), CHOICE_3 VARCHAR(30), CHOICE_4 VARCHAR(30), CORRECT VARCHAR(30), ANSWER VARCHAR(30), MARKS FLOAT, PRIMARY KEY(Q_NO,SUB_CODE), CONSTRAINT STUDENT_SEMESTER_FK6 FOREIGN KEY (SUB_CODE) REFERENCES SEMESTER(SUB_CODE) )Engine=InnoDB;

在这种情况下,在创建SUBJECT表时它会给出错误:1215。我不明白,我已经SEMESTER以与我试图创建的方式相同的方式创建了表SUBJECT,那么为什么它不起作用?我正在使用 MySQL 服务器 5.6。

请帮忙!提前致谢。

0 投票
1 回答
191 浏览

mysql - 为什么子查询比连接快?

减缓:

快速地

架构:

0 投票
1 回答
1475 浏览

mysql - MySQL 使用 JOIN 选择自定义字段

有两个表,一个包含文章,另一个包含那些文章的自定义字段,其中一篇文章与许多自定义字段的关系。

为每个字段进行连接以一次性获取全部数据的效率如何?

还是有更好的方法来允许在 where 子句中使用自定义字段?

我正在考虑这个或更改表模式以适应自定义字段。

0 投票
1 回答
220 浏览

mysql-5.6 - 如何解决此错误字段“STATE_REGION”在 MySQl 5.6 中没有默认值

我有如下错误

字段'STATE_REGION' - 字段名称在 MySQL 5.6 中没有默认值。

我通过更改sql_mode = '';以前版本的 MySQL解决了这个问题

但在 MySQL 5.6 中失败了

如何在 MySQL 5.6 中解决此问题。请帮助任何帮助非常感谢。

0 投票
2 回答
3363 浏览

mysql - 服务器退出而不更新 PID 文件 - Ubuntu 12.04 服务器

我按照这个链接升级我的mysql,https://rtcamp.com/tutorials/mysql/mysql-5-6-ubuntu-12-04/

文章ubuntu是x64,但是我的ubuntu是x32,所以我把下载链接改成http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.16-debian6.0-i686.deb

当我完成安装时,当我键入以下命令启动 mysql 时:$ service mysql.server start

它提醒我:

当我尝试打字service mysql-server restart时,它提醒我有点恭敬:

有一些东西可能会有所帮助:

  • my.cnf 位于 /etc/mysql/my.cnf
  • ps aux | grep mysqlps aux | grep mysql再次输入时会显示不同的PID

my.cnf 文件有以下行

0 投票
1 回答
2708 浏览

mysql - Performance between CREATE TEMP TABLE AS vs INSERT INTO SELECT

I was wondering is there a performance difference between:

then

vs

My concern was, the lookup_table is accessed very often by different users and when I run query 2, most of the users need to wait longer to be able to retrieve their result. What I was thinking was to write the data into a temporary table then write it to dest_table afterwards . Im just not sure if writing into a temp table with give a difference performance compared to writing it directly to the destination table. Im using mysql 5.6.

The reason why I need to write data from lookup_table to dest_table is because I need to create a report from it. Seeing how complex the query from lookup_table is makes it very difficult to create a report so I decided to move those data to a single table then just make a report from it.

0 投票
1 回答
656 浏览

innodb - 空 UPDATE 方式比相应的 SELECT 慢

我正在使用 MySQL 5.1.73 和 InnoDB

我有一个非常慢的 UPDATE 查询(大约 10 秒),其中更改的行数(通常)为零(如果有几行更改,则需要大约相同的时间):

但是,相应的 SELECT 相当快:

如您所见,这是(应该是?)一个索引查询,在一个不太大的数据库上(大约 9000 行,虽然它确实包含一些 blob,所以总数据库大小约为 800MB)。

问题是:

  • 为什么更新这么慢?
  • 我该如何调试它?
  • 我怎样才能加快速度?

更新:我在使用 MySQL 5.5.35(Debian wheezy 默认)的不同服务器上尝试了相同的数据库。查询还是快,更新还是慢,更新还是没有解释……我可能会尝试从dotdeb升级到mysql 5.6,或者试试mariadb。:)

更新 2:我尝试了不同的行格式(动态和压缩),但也没有(明显)更快。

更新3:我更新到MySQL 5.6.17(来自dotdeb),性能大体相同,但我终于得到了更新的解释:

这只证实了一直以来可能被怀疑的东西:UPDATE 没有使用任何索引。所以问题仍然存在:为什么

我将尝试创建一个产生这种行为的最小示例;也许在这个过程中,我会找到一些答案......