调试mysql语句_Mysql sql 语句调试
一. 执行报错内容不是真实的报错内容
存储过程和关联的存储过程都不存在'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 语句调试相关推荐
- mysql内部_MySQL SQL语句内部剖析
一条SQL在MySQL体系结构内的执行流程: 注意只有查询操作才会走查询缓存,而表的结构和数据发生改变时将会清空查询缓存.所以开启查询缓存的意义不大,8.0后已经废弃了该功能. 一条update在存储 ...
- python命令行调试django代码_Django shell调试models输出的SQL语句方法
在settings.py里,配置如下logging: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': ...
- mysql命令书写顺序_MySQL SQL语句书写顺序和执行顺序
SQL语句书写顺序和执行顺序 (7) SELECT (8) DISTINCT (1) FROM (3) JOIN (2) ON (4) WHERE (5) GROUP BY (6) HAVING (9 ...
- MySQL 简介及SQL 语句
MySQL 简介及SQL 语句 一.数据库概述 1.数据库的分类 1)区别 2.MySQL 概述 3.MySQL 存储原理 二.部署 MySQL 数据库 1.安装 MySQL 数据库 2.优化调整 M ...
- Entity Framework 在MySQL中执行SQL语句,关于参数问题
在Entity Framework中添加MySQL模型,在写代码的过程中需要直接执行SQL语句. 在SQL语句中用到了@curRank := 0 这样在SQL语句中定义参数,同时还会有传入参数:ai. ...
- MySQL数据库:SQL语句
MySql数据库系列阅读 MySQL数据库 MySQL数据库:SQL语句 MySQL数据库:完整性约束 MySQL数据库备份与还原 MySQL数据库:编码 1. SQL概述 1.1 什么是SQL SQ ...
- mysql中利用sql语句修改字段名称,字段长度等操作(亲测)
在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿.这些操作可以在phpmyadmin或者别的m ...
- php 登陆 sql语句,PHP 连接MySQL数据库的SQL语句的简单示例
这篇文章主要为大家详细介绍了PHP 连接MySQL数据库的SQL语句的简单示例,具有一定的参考价值,可以用来参考一下. 首先用phpmyadmin进入建立数据库user 再建个三段的表admin 再别 ...
- 1.MySQL数据库 2.SQL语句
01数据库概念 * A: 什么是数据库数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. * B: 什么是数据库 ...
- mysql 执行顺序 SQL语句执行顺序分析
最近在做一个数据库的大作业,算是复习了下MySql里面比较复杂的一些语句的用法,如Left Join之类的.在这里就不对具体语法进行记录了,希望能在以后经常用到,而不是隔好长时间用一次.在这里就记录下 ...
最新文章
- Ember.js如何与后端服务交互?adapter、store、ember data关系揭秘
- vue cli3.3 以上版本配置vue.config.js 及反向代理操作解决跨域操作
- Scala学习笔记(7)-函数式对象
- Spring---------ThreadLocal(线程变量副本)
- 软件工程--第五章-- 总体设计
- lan8720a自协商启动_紫金矿业2020届校招海外9站全面启动(面向全专业)
- z3 C++学习笔记
- kafka 集群的部署安装
- 第13篇: Flowable-BPMN操作流程之流程进展查看之流程图
- 升级centos6.8内核
- 「雕爷学编程」Arduino动手做(32)——雨滴传感器模块
- MS17-010(永恒之蓝) 漏洞检测及利用教程
- Apache2 Linux 的安装与介绍
- oracle版本虚拟机,关于虚拟机装oracle10g64位数据库查看版本位数有趣的问题
- 真正厉害的人,早戒掉了情绪
- kafka java实战_Kafka KSQL实战 PDF 下载
- 数据仓库介绍:什么是数据仓库、数据仓库功能、数据仓库价值、数仓领域职业发展方向规划
- 按键精灵入门指引——应用导向学习
- 嵌入式 LINUX 应用开发
- Android灯光系统背光灯
热门文章
- 【紫书第十一章】图论模型与算法入门
- java报表 统一服务器_java报表软件中本地效果与服务器效果不一致问题处理经验分享...
- oracle 导入性能,EXP,EXPDP数据导入本地性能测试的一点心得
- mybaitis快速生成_使用MyBatis插件生成代码
- 生命计算机在线,抖音生命计算器
- unity天气系统_天气系统(一)
- 时间基准控件外观的设置纠正
- 图:成都第三医院知识竞赛于9月29日圆满结束,PPT题目界面一览
- Java泛型之类型擦除
- JEESZ分布式框架--单点登录集成方案