Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题

表更描述: 将mysql数据库中的worktask表添加ishaspic字段。

具体操作:(1)数据库worktask表新添是否有图片字段ishaspic;新添字段时,报错

[SQL] alter table WorkTask add ishaspic int(10) Null;
[Err] 1034 - Incorrect key file for table 'WorkTask'; try to repair it

解决方案:新建worktask表,添加ishaspic字段,将原worktask表中的数据插入新建表中.

(2)生产环境部署变更代码,应用启动后,一段时间后台报错

org.hibernate.exception.GenericJDBCException: Could not open connection

java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.

(3)监控数据库服务,发现查询sql突然变慢,数据库服务器CPU资源占用率超高。

(4)变更回退,错误仍然存在。

原来应用能正常运行,现在不能正常运行,监控数据库,发现sql查询执行时间突然变慢,单独执行sql,发现也很慢,到达百秒级。

问题定位:在新建worktask表时,改变了表的排序规则,以至于使和所联表的排序规则不一样,导致联表查询SQL语句,索引不起作用。

解决方案:(1)将联表查询SQL进行拆分;(2)调整数据表的排序规则,保证所联表数据表的排序规则一致。

Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题的更多相关文章

  1. MySql数据库字段排序规则不一致产生的一个问题

    最近项目向MySql迁移,迁移完毕后,在获取用户权限时产生了一个异常,跟踪进去获取执行的语句如下, SELECT PermissionId FROM spysxtPermission WHERE (R ...

  2. MYSQL数据库性能调优之四:解决慢查询--索引

    为什么索引能够提高查询速度?没有索引 检索数据的方式是从头到尾一条一条挨着匹配,这是慢的根本原因:索引类型BTREE:二叉树类型,原理图如下:对表创建一个二叉树,记录中间数据的物理磁盘地址,二叉树检索 ...

  3. MySQL字符集与排序规则总结

      字符集与排序规则概念 在数据库当中都有字符集和排序规则的概念, 很多开发人员甚至包括有些DBA都会将这个混淆,当然这个情况也有一些情有可原的原因.一来两者本来就是相辅相成,相互依赖关联: 另外一方 ...

  4. mysql数据库——特殊sql语句整理之修改表结构

    建表 先讲一下常规建表: CREATE TABLE testCreate ( id ) NOT NULL auto_increment, time ) NOT NULL, type ) NOT NUL ...

  5. MySQL 查看编码 排序规则

    查看数据库的排序规则 mysql> show variables like 'collation%'; +----------------------+-------------------+ ...

  6. [转]LocalDB数据库修改排序规则,修复汉字变问号

    VS中新增的轻量级数据库LocalDB,有个这个,开发人员就不必再安装庞大的SQL server了,可以方便地测试运行小型项目:既然是轻量级数据库,它抛弃了庞大的身躯,功能上当然也会受到局限,其中之一 ...

  7. 更改SQL Server 数据库的排序规则

    更改数据库的排序规则,SQL提示 5030 的错误,错误信息如下: The database could not be exclusively locked to perform the operat ...

  8. heap表和iot表排序规则不同

    heap 和iot 对比 OBJECT_NAME OBJECT_TYPE --------------------------------------------------------------- ...

  9. 修改sqlserver2008数据库的排序规则 (转)

    修改sqlserver2008数据库的排序规则 (转)      修改SQL server 2008服务器排序规则 SQL Server 2008安装好后,发现服务器排序规则不对,又不想重装SQL S ...

随机推荐

  1. POJ C++程序设计 编程题#2 编程作业—文件操作与模板

    编程题#2: 实数的输出格式 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 1000kB 描述 ...

  2. 解决:JS如何取得当前正在执行的function的名字

    代码如下 function getFName(fn){ return (/^[\s\(]*function(?:\s+([\w$_][\w\d$_]*))?\(/).exec(fn.toString( ...

  3. php框架学习的步骤

    一,选择一个合适的php框架 在国内,使用zf,ci和tp框架的人比较多,新手可以从中选一个去学习,新手不建议一开始就去学习zf,功力还不够深,学习zf会让你更迷茫. 二,选定一个php框架之后,如何 ...

  4. C# 平时碰见的问题【4】

    1. 模糊查询 like的参数化写法 string keyword="value"; // 要模糊匹配的值 错误示范:   sql:    string strSql=" ...

  5. .Net 自己写个简单的 半 ORM (练手)

    ORM 大家都知道, .Net 是EF  还有一些其他的ORM  从JAVA 中移植过来的 有 , 大神自己写的也有 不管ORM 提供什么附加的 乱七八糟的功能 但是 最主要的 还是 关系映射 的事情 ...

  6. python爬取糗百第一页的笑话

    自学python网络爬虫,发现request比urllib还是要好用一些,因此利用request和BeautifulSoup来实现糗百的首页笑话的抓取.BeautifulSoup通过find和find ...

  7. jquery的prop()和attr()

    jQuery1.6以后prop()和attr()的应用场景如下: 第一原则:只添加属性名称该属性就会立即生效应该使用prop(); 第二原则:只存在true/false的属性应该使用prop(); 设 ...

  8. TeXworks代码补全功能

    使用Tab键会自动补全(实在是太TM的方便了) 比如:

  9. .NET开源工作流RoadFlow-快速入门

    在环境搭建好之后,我们就来学习一下怎样快速创建一个流程,并执行和流转该流程(我们这里讲的只是入门,不涉及到具体流程参数设置). 创建一个流程步骤为:在数据库在创建表-->设计表单-->设置 ...

  10. SAP B1 ADDON 开发

    承接各类SAP B1 ADDON 开发. 有需要,请联系.