1、MySQL 调试篇本篇主讲如何使用 explain 和 explain 各个参数的意义、如何查看被优化器优化后的 SQL 和手动影响优化器的优化。...以上内容参考官网地址: https://dev.mysql.com/doc/refman/8.0/en/explain-output.html#explain-join-types性能等级从高到低。...Extra此列包含有关 MySQL 如何解析查询的附加信息Backward index scan可以对 InnoDB 表使用降序索引,和 Using index. 一块显示。...Using temporary为了执行查询,MySQL 使用了临时表保存结果。一般查询中包括 GROUP BY 和 ORDER BY 会发生这种情况。...我们打开 MySQL 的命令行,然后输入我们要查询的 SQL:explain select * from user_account m left join account_info n on m.id
本文将介绍自己程序调试的一些常用方法,这边我以golang为例,总结为望问切闻---debug四部曲。...一般是看两个地方,一个是日志流(debug日志),一个是dlv attach进去调试,查看具体的调用栈。...bin/has.log.kill $*chmod +x usr/bin/has.log.killalias kill=/usr/bin/has.log.killdlv使用方法可以参考这篇文章:GO语言调试利器
本文介绍下我常用的一些 shell 脚本调试方法,希望能对 shell 的初学者有所帮助。 sh 命令调试选项(推荐) 从-c 后的字符串中读取命令。 使用方法: 字符串读取脚本。...)) + echo '第 3 遍打印:daodaotest' 第 3 遍打印:daodaotest + (( i++ )) + (( i <= 3 )) exit 0 + exit 0 注:本人最常用...,在需要调试的代码块前后设置即可。...BASH Debugger bashdb 是一个类 GDB 的调试工具,可以运行断点设置、变量查看等常见调试操作。...官网:http://bashdb.sourceforge.net/ 常用参数: h:查看帮助。 help 命令:命令的具体信息。 n:执行下一条语句。 s n:单步执行 n 次。
缓慢的MySQL查询是导致应用程序瓶颈的常见原因。尤其在生产环境中,查询缓慢对网站就会产生非常不好的体验。 所以学会调试Mysql慢查询真的很有必要,那么,Let's go。...启用 首先,启用Mysql慢查询日志 登陆Mysql $ mysql -u root -p 选择要调试的数据库,我以我的数据库huanld为例: > use huanld 启用慢查询日志 > SET...现在,我们已经成功启用了MySQL慢查询日志,并且我们现在可以调查和调试哪个查询导致了问题。...命令,这些命令对我们调试也是非常有用的。...通过添加关键字SQL NO CACHE来运行没有缓存的查询: > select SQL_NO_CACHE * from mytable where 1 limit 1; 结尾 调试Mysql慢查询的流程就是这么个过程
PyCharm - 断点调试 以前写Python程序时, 因为不会断点调试, 所以调试就一直用 print(变量) * N次, debug效率非常低, 经常1个问题得查半天......后来学了一下Pycharm的断点调试, 发现功能真的很强大, debug的效率提升很多! 所以写篇文章分享下这个技能, 希望大家不再为调试而发愁!...04 进阶调试 现在重新调试, 不过不用F8了, 现在按A按钮调试....这就是 A按钮 和 B 按钮的区别: 调试过程中, 是否只进入自己定义的方法内部!...watch区的按钮, 如图 watch区的界面, 如图所示 watch区的作用: 当 variables 区有很多变量时, 此时可挑选关注的变量到 watch 区 以上就是Pycharm常用的调试技巧
本文的主角nsenter正是很擅长解决这些问题,nsenter可以进入指定namespace的工具,一般用来在容器环境中进行调试。...调试容器网络 通过nsenter可以轻松在宿主机进入容器的网络命令空间,命令如下: # 设置containerid containerid=xxx # 获取容器主进程 pid=$(docker inspect...kube-nodeshell 临时容器 kubernetes 1.18 之后启用了临时容器,用户可以通过kubectl debug命令来添加临时容器到 pod,也可以登录到 node shell,一些简单的调试工作可以使用这种方法...,见调试运行中的 Pod: https://kubernetes.io/zh/docs/tasks/debug-application-cluster/debug-running-pod/ 对比nsenter
在iPhone中调试,大体上与上文 安卓中的移动页面调试 类似,区别主要是iOS系统中的一些限制,导致某些工具无法使用。 本文基于此,简要介绍在iPhone中如何调试页面。...,在iPhone上不好设置HOST,所以需要一些代理工具帮助我们 除了Windows平台中常用的代理调试工具Fiddler之外,还可以使用Mac中的常用代理工具 Charles Fiddler 与上文类似...之间都能进行调试 此外,这种远程调试仅支持调试手机的Safari浏览器,无法调试微信的内置浏览器 基于Weinre的调试 参考前文 基于微信开发者工具的调试 参考前文 ?...基于 ios-webkit-debug-proxy 的调试 Mac上的safari调试功能不够好,而且不能调试微信中的页面,使用weinre只能简单地调试微信页面,无法进行脚本断点等高级功能 最好的办法莫过于让...iPhone可Chrome Devtools进行连接,充分利用好的调试工具与现有的平台,进行调试。
GDB 常用命令列表 命令名称 命令缩写 命令说明 run r 运行一个程序 continue c 让暂停的程序继续运行 next n 运行到下一行 step s 如果有调用函数,进入调用的函数内部,相当于...线程等信息 ptype ptype 查看变量类型 disassemble dis 查看汇编代码 set args 设置程序启动命令行参数 show args 查看设置的命令行参数 扩充: gcc 常用选项...选项 选项说明 -v 查看gcc版本号 -I (大写 i ) 指定头文件目录,注意-I和目录之间没有空格 -c 只编译,生成.o文件,不进行链接 -o 输出成指定文件名 -g 包含调试信息 -On n
调试程序的常用方法 前言 在 OI 赛制的比赛中,高效、恰当地调试程序,是拿到稳定分数的必要条件。只有一次提交机会,意味着本地需要进行大量调试工作,以保证程序在各种各样的输入下都能正常运行。...一般来说,选手会手造特殊数据、对拍随机数据,对程序进行调试。 特殊数据构造 应在开始编码前,就考虑算法在各种极端情况下的表现。...生成随机数,常用的有 rand() 和 mt19937,后者是 c++11 中强度较高的随机数生成方法。...freopen("ans.out","w",stdout); 对拍器 对拍器是对拍的中枢,功能流程如下: 调用数据生成器生成数据 调用暴力程序得到答案 调用期望程序得到答案 对比两个程序输出的答案 对拍有两种常用的实现方式...生成范围小的随机数据,方便出错时手动调试。而在小数据通过后,生成大数据来检验正确性。 需要注意,生成的数据范围需要在暴力程序可接受范围内。
有时我们想知道Mysql执行一条Sql语句中到底做了什么,最可靠的答案就是自己调试下Mysql,下面讲述如何在Windows下搭建Mysql调试环境。...id=13276 2、下载mysql,从mysql官网选择5.6.17 https://downloads.mysql.com/archives/community/ 3、安装CMake,以下是官网地址...-G "Visual Studio 9 2008" 这一步执行完成后会生成解决方案文件mysql.sln文件。...三、调试 总共下来,一共有120多个工程,以下是本机的截图: ? 将mysqld项目设为启动项目就可以调试了。 ?...然后我们可以观察每个变量的值进行调试了: ?
前言 上一篇给大家介绍了,MySQL常用的操作符其实已经是非常的详细了,现在给大家分享的是MySQL的常用函数。希望对我和对大家都有帮助。
adb 开发调试第一神器,具体的在这里不做太多介绍,之前专门写过两篇文章。...下载地址: 无需安装,位于Android SDK的platform-tools文件夹下,增加环境变量即可使用 adb 基础用法 介绍一些常用的adb命令,例如install、push这些:点击查看 adb
前言 GDB是一个由GNU开源组织发布的、UNIX/LINUX 操作系统下的、基于命令行的、功能强大的程序调试工具。...GDB 支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段。...在 Linux 环境软件开发中,GDB 是主要的调试工具,用来调试 C 和 C++ 程序(也支持 go 等其他语言)。 一、常用指令 -g: 使用该参数编译可以执行文件,得到调试表。 gdb ....quit:退出 gdb 当前调试。 二、案例说明 使用 gdb 之前,要求对文件进行编译时增加 -g 参数,加了这个参数过后生成的编译文件会大一些,这是因为增加了 gdb 调试内容。...,它们的区别是,使用 display 命令查看变量或表达式的值,每当程序暂停执行(例如单步执行)时,GDB 调试器都会自动帮我们打印出来,而 print 命令则不会。
-a 列出所有符号(这将会把调试符号也列出来。...默认状态下调试符号不会被列出) -l 列出符号在源代码中对应的行号(指定这个参数后,nm将利用调试信息找出文件名以及符号的行号。...strip(去除二进制文件里面包含的符号) 用途: 可执行程序减肥(通常只在已经调试和测试过的生成模块上,因为不能调试了) 反编译、反跟踪 readelf(显示目标文件详细信息) nm...coredumping executable name into filename 添加命令名 使用gdb查看core: gdb opprofile (查看CPU耗在哪) 常用命令...使用oprofile进行cpu使用情况检测,需要经过初始化、启动检测、导出检测数据、查看检测结果等步骤,以下为常用的oprofile命令。
常用函数 聚集函数 avg count max min sum 用于处理字符串的函数 合并字符串函数:concat(str1,str2,str3…) 比较字符串大小函数:strcmp(str1
常用功能脚本 1.导出整个数据库 mysqldump -u 用户名 -p –default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqldump...add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 A:常用...source 命令 进入mysql数据库控制台,如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source...-u username -p -D dbname < filename.sql 启动与退出 1、进入MySQL: 启动MySQL Command Line Client(MySQL的DOS界面),...; 9、导入.sql文件命令 (例如D:/mysql.sql) mysql>use database; mysql>source d:/mysql.sql; 10、删除表 mysql>
一、查看类 查看mysql当前的各类指标status; `show status;` 查看字符集 show variables like "%character%"; show character set...like "sql_mode"; 查看存储引擎 show engines; show global variables like '%innodb%'; #查看innodb引擎 开启独立表空间(重启mysql...innodb_file_per_table"; #查看 set global innodb_file_per_table=ON; #开启 查看mysql...#删除数据库 表操作 create table mytab (name varchar(20)); #创建表 create table tab1 select user,host,... from mysql.user...select * from mysql.user limit 2; #取两行数据 SELECT DISTINCT column_name,column_name FROM table_name;
常用操作语句 连接 mysql -hxx -Pxx -uxx -pxx 建表 CREATE TABLE `user` ( `id` int(10) NOT NULL AUTO_INCREMENT...从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALL rows 显示需要扫描行数 key 使用的索引 执行show processlist; 查看mysql...慢查询日志(默认情况下,mysql不开启慢查询日志) 日志分析工具mysqldumpslow 得到返回记录集最多的10个SQL。...mysqldumpslow -s r -t 10 /database/mysql/mysql06_slow.log 得到访问次数最多的10个SQL mysqldumpslow -s c -t 10 /database.../mysql/mysql06_slow.log 慢查询的数量保存在mysql库里面的slow_log表。
1. 查询一段时间内的数据: 查询一天: select * from table where to_days(column_time) = to_days(...
登陆后,shell的提示符就会变成mysql的提示符了: mysql> 在这里输入适当的语句并以";"结尾即可。 退出时输入exit或者Ctrl+d都可以。...选择数据库和表 显示数据库 mysql> show databases; 创建数据库 mysql> create database mydatabase; 使用该数据库 mysql> use mydatabase...; 显示数据库中所有的表 mysql> show tables; 删除表 mysql> drop table mydatabase; 显示表结构 mysql> describe mytable; or...不过最后我们还是要记得把他修改回常用的标志“;”; 创建过程 mysql>create procedure mypro() ->begin ->select * from mytable...删除某个过程: mysql> drop procedure mypro; 参考资料 MySQL语法大全_自己整理的学习笔记 MySQL用文本方式将数据装入一个数据库表 MySQL存储过程详解 mysql
领取专属 10元无门槛券
手把手带您无忧上云