我有一张这样定义的表。其中ProviderId
是主键,StateID
是来自另一个表的外键。它在我的笔记本电脑上运行,因此,它是一个本地数据库。在我的表中,我有大约900万条条目。我运行以下命令为表创建新索引:
CREATE INDEX name_addr ON providers (ProviderName, Address, StateID, Zip);
它运行了大约 10 分钟,我收到以下错误消息:
Error Code: 2013. Lost connection to MySQL server during query - 600.547 sec
我检查了我的日志,结果是这样的:
150226 13:07:31 12 Query CREATE INDEX name_addr ON providers (ProviderName, Address, StateID, Zip)
150226 13:17:32 13 Connect root@localhost on
13 Query set autocommit=1
13 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
13 Query SHOW SESSION VARIABLES LIKE 'lower_case_table_names'
13 Query SELECT current_user()
13 Query SET CHARACTER SET utf8
13 Query SET NAMES utf8
13 Query SET SQL_SAFE_UPDATES=1
13 Query SELECT CONNECTION_ID()
13 Query SHOW SESSION STATUS LIKE 'Ssl_cipher'
13 Query USE `workflydb`
13 Query set autocommit=1
虽然,我收到了一条错误消息,但当我检查索引时,结果是这样的。我不知道问题可能是什么,以及如何解决它,也不知道我创建的索引是否真的有效。有什么想法吗?
这可能是因为超时问题。将超时更改为更大的值。您可以在命令行界面或mysql工作台中执行此操作。
在MySql Workbench中查找类似“connection keep alive”的属性。看到这个答案:MySQL Workbench:如何保持连接有效
主要内容:一、准备工作,二、索引失效规则,1.优先使用联合索引,2.最左匹配原则,3.范围条件右边的列索引失效,4.计算、函数导致索引失效,5.类型转换导致索引失效,6.不等于(!= 或者<>)索引失效,7.is null可以使用索引,is not null无法使用索引,8.like以%开头,索引失效,9.OR前后存在非索引的列,索引失效,10.字符集不统一,三、建议一、准备工作 首先准备两张表用于演示: 二、索引失效规则 1.优先使用联合索引 如下一条sql语句是没有索引的情况: 我们通过建立
主要内容:基本语法,创建普通索引,创建唯一索引创建索引是指在某个表的一列或多列上建立一个索引,可以提高对表的访问速度。创建索引对 MySQL 数据库的高效运行来说是很重要的。 基本语法 MySQL 提供了三种创建索引的方法: 1) 使用 CREATE INDEX 语句 可以使用专门用于创建索引的 CREATE INDEX 语句在一个已有的表上创建索引,但该语句不能创建主键。 语法格式: CREATE <索引名> ON <表名> (<列名> [
我有一条sql ,不知道为什么会导致索引失效 当我注释掉 select 后面的 pc.name 字段就可以使用索引。 不知道为什么,有没有大佬给我解惑一下。 测试环境中dev_device_log表中只有几百条数据的时候可以走索引,但是我从生产环境随意导出了几万条数据后就无法使用索引了。 不太理解为什么select 后面的字段会影响到索引情况 表结构: 我导出了一份几万条脱敏后的数据,但是不知道怎
首先,我需要指出我在我的机器上运行了Wikipedia转储的sql文件,为了能够运行,我需要更新许多关于内存中可用索引大小的设置和一些其他设置。我只想提到那些大型sql查询运行成功,在内存或超时方面没有任何问题。 现在我有了一个表pagelinks(pl_from,pl_title),它显示了出现在每个维基百科页面中的链接,例如,数据可以是(1,“title1”),(1,“title2”),(2,
问题内容: 我的Spring Boot应用程序总是在早上向我显示此whitelabel错误:无法打开JPA EntityManager进行事务;嵌套异常是javax.persistence.PersistenceException:org.hibernate.TransactionException:JDBC开始事务失败: 我在网上搜索,我认为可能是mysql关闭了8个小时的非活动连接。但是,根据
问题内容: 我添加了一个构建步骤来执行Python脚本。 在此脚本中,使用lint.Run(.. args)调用pylint来检查代码。 该脚本可以工作,但是最后,构建失败,并显示唯一的错误消息: 有人知道为什么会这样吗? 问题答案: 看来您的pylint执行退出状态为非零(缺少脚本,错误的选项…),也许您在退出脚本时引发了异常或