一. 执行报错内容不是真实的报错内容

存储过程和关联的存储过程都不存在'value_1_'这个字段

可以使用navicat的命令窗口执行

反馈出真实的报错原因

由于customer_po_no_ 变量设置了长度2000  ,游标循环叠加的customer_po_no_ 的时候超出了长度 ,在循环内添加

IF LENGTH(customer_po_no_) >= 1950 THEN

LEAVE archive_loop;

end IF;

即可;

二. 没有报错但获取的游标没有全部执行完直接退出,提示执行成功

明明获取了游标,但就是只执行了几个,代码表面上看不出问题

全部执行大概要一个小时,结果只执行了几秒,检查数据,发现只执行了前面几个;

这个时候,可以通过每执行一次,就更新或者插入数据到一张表里面,观察那张表的规律,看下执行到哪个位置游标就直接跳出整个循环

如:

再尝试单独执行断开那个数据,观察有没有报错或者那个数据有什么特殊的

这个时由于 ****Diff() 那个存储过程里面有一个变量的设置为 varchar(200), 那个变量会接收GROUP_CONCAT(customer_po_no) 的数据;把修改成 varchar(20000)即可;

三. GROUP_CONCAT 的长度限制,以及完全找不到原因的报错

1. group_concat 默认长度时1024,

可以在my.ini 里面设置需要的长度,重启mysql

#group_concat 的长度

group_concat_max_len=102400;

也可以;

SET GLOBAL group_concat_max_len=102400;

SET SESSION group_concat_max_len=102400;

2. group_concat 是不可以直接使用limit 限制长度

如:

select GROUP_CONCAT(a) from a_tab limit 5;

获取的结果也是全部的;

需要套多一个select 在外面才可以使用

select GROUP_CONCAT(a SEPARATOR ',')

from (select c.a as a from a_tab c limit 5) t;

3. group_concat 不明原因提示超长,明明获取的数据是绝对不会超长的

将获取的变量强制格式转换为char 即可

select GROUP_CONCAT(CAST(a AS char) SEPARATOR ',')

from (select c.a as a from a_tab c limit 5) t;

四. 对于千万级别的数据,抽取数据的语句一定要使用索引

虽然即使使用没有索引的也是在一秒之内,但对于复杂运作,数据量大的存储过程,的时候,本来一个小时可以完成执行,结果10多个小时也执行不下,误以为是死循环;

由于有索引的表是分开归档和没有归档,虽然获取数据要分开两次,还要条件判断执行,但整体效率比直接用没有中间表快很多

调试mysql语句_Mysql sql 语句调试相关推荐

  1. mysql内部_MySQL SQL语句内部剖析

    一条SQL在MySQL体系结构内的执行流程: 注意只有查询操作才会走查询缓存,而表的结构和数据发生改变时将会清空查询缓存.所以开启查询缓存的意义不大,8.0后已经废弃了该功能. 一条update在存储 ...

  2. python命令行调试django代码_Django shell调试models输出的SQL语句方法

    在settings.py里,配置如下logging: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': ...

  3. mysql命令书写顺序_MySQL SQL语句书写顺序和执行顺序

    SQL语句书写顺序和执行顺序 (7) SELECT (8) DISTINCT (1) FROM (3) JOIN (2) ON (4) WHERE (5) GROUP BY (6) HAVING (9 ...

  4. MySQL 简介及SQL 语句

    MySQL 简介及SQL 语句 一.数据库概述 1.数据库的分类 1)区别 2.MySQL 概述 3.MySQL 存储原理 二.部署 MySQL 数据库 1.安装 MySQL 数据库 2.优化调整 M ...

  5. Entity Framework 在MySQL中执行SQL语句,关于参数问题

    在Entity Framework中添加MySQL模型,在写代码的过程中需要直接执行SQL语句. 在SQL语句中用到了@curRank := 0 这样在SQL语句中定义参数,同时还会有传入参数:ai. ...

  6. MySQL数据库:SQL语句

    MySql数据库系列阅读 MySQL数据库 MySQL数据库:SQL语句 MySQL数据库:完整性约束 MySQL数据库备份与还原 MySQL数据库:编码 1. SQL概述 1.1 什么是SQL SQ ...

  7. mysql中利用sql语句修改字段名称,字段长度等操作(亲测)

    在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿.这些操作可以在phpmyadmin或者别的m ...

  8. php 登陆 sql语句,PHP 连接MySQL数据库的SQL语句的简单示例

    这篇文章主要为大家详细介绍了PHP 连接MySQL数据库的SQL语句的简单示例,具有一定的参考价值,可以用来参考一下. 首先用phpmyadmin进入建立数据库user 再建个三段的表admin 再别 ...

  9. 1.MySQL数据库 2.SQL语句

    01数据库概念 * A: 什么是数据库数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. * B: 什么是数据库 ...

  10. mysql 执行顺序 SQL语句执行顺序分析

    最近在做一个数据库的大作业,算是复习了下MySql里面比较复杂的一些语句的用法,如Left Join之类的.在这里就不对具体语法进行记录了,希望能在以后经常用到,而不是隔好长时间用一次.在这里就记录下 ...

最新文章

  1. Ember.js如何与后端服务交互?adapter、store、ember data关系揭秘
  2. vue cli3.3 以上版本配置vue.config.js 及反向代理操作解决跨域操作
  3. Scala学习笔记(7)-函数式对象
  4. Spring---------ThreadLocal(线程变量副本)
  5. 软件工程--第五章-- 总体设计
  6. lan8720a自协商启动_紫金矿业2020届校招海外9站全面启动(面向全专业)
  7. z3 C++学习笔记
  8. kafka 集群的部署安装
  9. 第13篇: Flowable-BPMN操作流程之流程进展查看之流程图
  10. 升级centos6.8内核
  11. 「雕爷学编程」Arduino动手做(32)——雨滴传感器模块
  12. MS17-010(永恒之蓝) 漏洞检测及利用教程
  13. Apache2 Linux 的安装与介绍
  14. oracle版本虚拟机,关于虚拟机装oracle10g64位数据库查看版本位数有趣的问题
  15. 真正厉害的人,早戒掉了情绪
  16. kafka java实战_Kafka KSQL实战 PDF 下载
  17. 数据仓库介绍:什么是数据仓库、数据仓库功能、数据仓库价值、数仓领域职业发展方向规划
  18. 按键精灵入门指引——应用导向学习
  19. 嵌入式 LINUX 应用开发
  20. Android灯光系统背光灯

热门文章

  1. 【紫书第十一章】图论模型与算法入门
  2. java报表 统一服务器_java报表软件中本地效果与服务器效果不一致问题处理经验分享...
  3. oracle 导入性能,EXP,EXPDP数据导入本地性能测试的一点心得
  4. mybaitis快速生成_使用MyBatis插件生成代码
  5. 生命计算机在线,抖音生命计算器
  6. unity天气系统_天气系统(一)
  7. 时间基准控件外观的设置纠正
  8. 图:成都第三医院知识竞赛于9月29日圆满结束,PPT题目界面一览
  9. Java泛型之类型擦除
  10. JEESZ分布式框架--单点登录集成方案