安卓智能手机开发,打地鼠实例(登录页面+游戏界面+课程设计)

2023-11-16

主要为大家详细介绍了Android实现打地鼠小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

文件:url80.ctfile.com/f/25127180-743379579-b297fb?p=551685 (访问密码: 551685)


学完数据库基础知识,要想更深入地了解数据库,就需要学习数据库进阶知识,今天我们就先来聊一聊慢SQL查询那些事儿。

在日常工作中,我们经常会遇到数据库慢查询问题,那么我们要如何进行排查呢?

假设一次执行20条SQL,我们如何判断哪条SQL是执行慢的烂SQL,这里就需要用到慢查询日志。

在SQL中,广义的查询就是CRUD操作,而狭义的查询仅仅是SELECT查询操作,而我们所说的慢查询其实指的是广义的查询,包括增删改查,一般是查询,所以称为慢查询。

什么是慢查询日志
MySQL提供的一种日志记录,用于记录MySQL中响应时间超过阈值[yù zhí]的SQL语句(也就是long_query_time的值,默认时间是10秒)。

慢查询日志默认是关闭的,开启会消耗一定的性能,一般是开发调优时打开,而部署时会关闭。

检查是否开启了慢查询日志
执行语句:

show variables like ‘%slow_query_log’;
从以下执行结果可以看出,慢查询日志默认是OFF关闭状态:

如何开启慢查询日志
开启慢查询日志有两种方式,分别是临时开启和永久开启。

临时开启
一般使用临时开启,即在内存中开启,MySQL退出就会自动关闭,从而避免过多的性能开销:

set global slow_query_log = 1; // 1表示开启
set global slow_query_log_file=“D:/MySQL Server 5.5/slow_query_log.log”; // 日志存储位置

临时开启,重启MySQL服务后慢查询日志会变成OFF状态:

Linux重启MySQL服务:

service mysql restart
Windows重启MySQL服务:

右击开始菜单——计算机管理——找到MySQL服务——重启:

重启后的可以看到慢查询日志变成OFF关闭状态:

永久开启
通过修改配置文件的方式可以永久开启慢查询日志。

Linux:在 /etc/my.cnf 中追加配置

vi /etc/my.cnf

[mysqld]
slow_query_log=1
slow_query_log_file=/var/lib/mysql/localhost-slow-query-log.log
Windows:D:\MySQL Server 5.5\my.ini

[mysqld]
slow_query_log=1
slow_query_log_file=“D:/MySQL Server 5.5/slow_query_log.log”
永久开启后,即使重启MySQL服务,慢查询日志也不会关闭:

慢查询阈值修改
查看默认值
show variables like ‘%long_query_time%’;
可以看到默认值是10s:

临时设置阈值
设置完毕后,需要重新登录MySQL才能生效(注意是重新登录MySQL,不是重启MySQL服务)。

set global long_query_time = 5;

永久设置阈值
通过修改配置文件的方式可以永久设置阈值(修改完成后需要重启MySQL服务):

[mysqld]
long_query_time=3

慢SQL排查测试
模拟慢SQL数据
执行如下SQL语句休眠4秒,模拟慢SQL:

select sleep(4);
查询超过阈值的SQL的数量:

show global status like ‘%slow_queries%’;
可以看到超过阈值的SQL数为1:

查询超过阈值的具体SQL语句
主要有两种方式可以定位到具体的慢SQL语句,分别为查看日志文件和使用mysqldumpslow工具查看。

方式一:通过查看日志文件,也就是前面设置的slow_query_log_file

方式二:通过mysqldumpslow工具快速定位慢SQL
假设执行了1000条SQL,其中有30条SQL都超过了阈值,如果直接查看日志文件,无法快速定位到具体的SQL,所以需要使用mysqldumpslow工具,通过一些过滤条件,快速查找出慢SQL。

Linux:

mysqldumpslow命令

–help命令查看帮助文档:

mysqldumpslow --help
-s ORDER排序 what to sort by (al, at, ar, c, l, r, t), ‘at’ is default
al: average lock time
ar: average rows sent
at: average query time
c: count(访问次数)
l: lock time(锁的时间)
r: rows sent(返回的记录数)
t: query time(查询时间)
-r:逆序 reverse the sort order (largest last instead of first)
-l:锁定时间 don’t subtract lock time from total time
-g:后面跟一个正则匹配模式,大小写不敏感
-t:top n,即为返回前面多少条的数据
举栗:

获取返回记录最多的3个SQL

mysqldumpslow -s r -t 3 /var/lib/mysql/localhost-slow-query-log.log
获取访问次数最多的3个SQL

mysqldumpslow -s c -t 3 /var/lib/mysql/localhost-slow-query-log.log
按照时间排序,前10条包含left join查询语句的SQL

mysqldumpslow -s t -t 10 -g “left join” /var/lib/mysql/localhost-slow-query-log.log
Windows:

MySQL安装后以后在bin下有mysqldumpslow.pl文件,如果没有可以自行下载。

D:\MySQL Server 5.5\bin\mysqldumpslow.pl:

mysqldumpslow是一个perl脚本,要想在Windows执行,首先需要安装Perl。

安装过程比较简单,从官网 http://strawberryperl.com/ 下载windows安装包,安装完成后通过perl -v命令测试是否安装成功,如果能显示版本号,表示安装成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安卓智能手机开发,打地鼠实例(登录页面+游戏界面+课程设计) 的相关文章

  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • Laravel 5.4 升级 - 违反完整性约束 - 列不能为空

    奇怪的是 所有这些都在 5 2 中工作 但我不知道可以改变什么来实现这一点 下面是错误和正在插入的数组 SQLSTATE 23000 Integrity constraint violation 1048 Column gender can
  • 如何导出带有数据的 MySQL 架构?

    我有一个完整的架构 其中有许多表 其中包含 MySQL 查询浏览器中的数据 现在我想将这个包含所有表 数据的完整数据库发送给我的同事 我怎样才能将其发送给我的同事 以便他可以将这个完整的架构放入他的 MySQL 查询浏览器中 Thanks
  • MySQL Python 关于重复键更新值

    我正在研究使用 python 将 JSON 数据上传到 MySQL 我需要在插入语句中包含 ON DUPLICATE KEY UPDATE VALUES 但在 Python 中遇到了问题 如果我运行以下代码 一切正常 import json
  • oursql 中的参数化查询

    如果有人能告诉我是否可以使用命名占位符进行参数化查询 我将不胜感激oursql 一个用于与 MySQL 数据库交互的 python 模块 例如 我尝试了一种可以与 sqlite3 一起使用的查询 c execute select from
  • MySQL集群启动失败

    这不是我第一次创建ndbcluster 但我没有收到这样的问题 我正在关注本手册 https hub docker com r mysql mysql cluster by mysql团队 我正在使用回显的默认配置在此 GitHub 存储库
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 在MySQL中生成随机字符串

    我正在尝试使用函数在 phpmyadmin 中获取随机字符串 我有以下代码 CREATE FUNCTION randomPassword RETURNS varchar 128 BEGIN SET chars ABCDEFGHIJKLMNO
  • 日期时间与时间戳字段

    我是 MySQL 数据库的新手 您是否建议在表创建中使用日期时间或时间戳字段以及原因 我正在使用 MySQL 5 7 和 innodb 引擎 Thanks 我会用TIMESTAMP对于任何需要自动管理的事情 因为它支持诸如ON UPDATE
  • 无法在 mysql-apt-config [Ubuntu 14.04] 中选择“确定”

    我使用的是 Ubuntu 14 04 sudo apt get update总是给我这个选项来配置 mysql apt config 我尝试选择版本 按 tab gt 在 确定 上突出显示的键 按 Enter 但没有任何反应 它再次返回并突
  • 如何为我的整个 Node.js 应用程序使用相同的 MySQL 连接?

    我有一个app js 我从那里运行我的整个应用程序 在 app js 内部 我require许多文件中都有代码 对于每个文件 我都这样做 var mysql require mysql var mclient mysql createCon
  • 在同一查询中选择 Count of ip 和 Count of DISTINCT ip

    我有一个这样的表结构 TABLE NAME counter id datetime url ip 1 2013 04 12 13 27 09 url1 ip01 2 2013 04 13 10 55 43 url2 ip02 3 2013
  • 如何在查询语句之外从mysql查询中获取值?

    这是下面的函数console log function quo value value connection query SELECT role from roles where id 1 function error results fi
  • 连接到 OpenShift (Redhat Paas) mysql 实例

    我正在尝试将我的 C 应用程序与 openshift 数据库连接 但我得到了这个例外conn Open Eccezione gt MySql Data MySqlClient MySqlException 0x80004005 Unable
  • 无法在 Zend Framework 中回滚事务

    我在 Zend Framework 中使用以下代码进行事务 但回滚功能不起作用 数据通过 insertSome data 插入数据库 怎么了 db gt beginTransaction try model gt insertSome da
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • Django 将 JSON 数据传递给静态 getJSON/Javascript

    我正在尝试从 models py 中获取数据并将其序列化为views py 中的 JSON 对象 模型 py class Platform models Model platformtype models CharField max len
  • 如何为 MySQL 中的字段或列添加别名?

    我正在尝试做这样的事情 但我收到未知的列错误 SELECT SUM field1 field2 AS col1 col1 field3 AS col3 from core 基本上 我只想使用别名 这样我就不需要执行之前执行的操作 这在mys
  • 使用什么框架来引导我的第一个生产 scala 项目?

    我正在第一次涉足 scala 的生产应用程序 该应用程序当前打包为 war 文件 我的计划是创建 scala 编译工件的 jar 文件 并将其添加到 war 文件的 lib 文件夹中 我的增强功能是通过 Jersey 公开的 mysql 支
  • 选择获取与 MySQL Group 中 max 对应的整行

    当我使用Max使用后查找特定 MySQL 组中字段的最大值GROUP BY 是否可以获取包含最大值的整行 我在处理一些论坛代码时偶然发现了这个线程 我想获取每个线程的最新帖子并将其显示在特定板的线程列表中 Quassnoi上面的回答对我非常

随机推荐

  • gb28181抓包

    知乎一篇雄文 https zhuanlan zhihu com p 98533891 这是对照gb28181文档进行抓包的分析 nvr代理服务端 44 198 62 2 5061 44190012002000000001 代理客户端 44
  • jQuery选择器集锦(读《锋利的jQuery(第二版)》所摘)

    jQuery选择器分为基本选择器 层次选择器 过滤选择器和表单选择器 过滤选择器可以分为基本过滤 内容过滤 可见性过滤 属性过滤 子元素过滤和表单对象属性过滤选择器 input not myClass 选取class不是myClass的
  • linux 判断目录是否存在并创建

    1 用 int access const char pathname int mode 判断有没有此文件或目录 它区别不出这是文件还是目录 2 用 int stat const char file name struct stat buf
  • 计算机网络模型

    计算机网络OSI模型 Open Systems Interconnection model 是一种概念模型 它表征并标准化电信或计算系统的通信功能 而不考虑其基础内部结构和技术 其目标是多种通信系统与标准协议的互操作性 该模型将通信系统划分
  • Java从FTP下载文件到本地前端+后端

    一 前端 1 首先创建下载文件按钮
  • Android IdentityCredential(身份凭证)二

    IC TA代码调试 static const uint8 t hbkTest 16 0 hbkReal需要对接到具体系统中的API 该密钥需要具备每台设备唯一的特性 而且每次开机都需要保持不变 static const uint8 t hb
  • Latex的基本使用

    本文目录 一 Latex文档的基本结构 1 1 latex文档的两个部分 1 2 导言区 1 3 正文区 1 4 数学模式和文本模式 二 Latex中中文的处理办法 2 1 第一种方式 引入ctex宏包 2 2 第2种方式 使用ctexar
  • 获取屏幕分辨率

    获取屏幕宽度 window screen width window devicePixelRatio 获取屏幕高度 window screen height window devicePixelRatio
  • FBI紧急警告:黑客利用开源SonarQube实例窃取政府和企业源代码

    聚焦源代码安全 网罗国内外最新资讯 编译 奇安信代码卫士团队 美国联邦调查局 FBI 发布紧急警告称 黑客正在通过暴露在互联网且不安全的 SonarQube 实例中窃取美国政府和企业的信息 SonarQube 是一款开源的自动化代码质量审计
  • Servlet 405的可能原因

    初学Servlet 网页访问405 原因 没有删除自动生成的super sevice req resp 将其删除即可
  • 文本聚类(一)—— LDA 主题模型

    目录 文本聚类 一 LDA 主题模型 1 1 加载数据集 1 2 数据清洗 分词 1 3 构建词典 语料向量化表示 1 4 构建 LDA 模型 1 5 模型的保存 加载以及预测 1 6 小结 Update log 2021 07 08 主要
  • 使用PLC-Recorder快速连接PLC记录数据

    一 快速获取软件 PLC Recorder是一款优秀的国产PLC故障记录及数据采集软件 相较昂贵的国外软件 即使免费试用版本 已基本能满足工控 维护一族工程师们使用了 下面介绍一下获取方法 首先 可以在官网上下载此软件 点击软件下载的第一项
  • [技术发展-14]:高级研修班-智能制造-智能制造技术体系与发展状况

    目录 作者主页 https blog csdn net HiWangWenBing 文章出处 https blog csdn net HiWangWenBing article details 118251237 第1章 智能制造是历史发展
  • python常见异常类型&异常处理

    python常见异常类型 异常处理 常见异常类型 ZeroDivisionError 除 或取模 零 IndexError 序列中没有此索引 KeyError 映射中没有这个键 NameError 未声明 初始化对象 SyntaxError
  • chatgpt赋能python:如何让Python程序运行

    如何让Python程序运行 Python是一种高级编程语言 它被广泛应用于各种不同的领域 包括Web开发 数据分析 机器学习 人工智能等等 当你编写Python程序时 你需要学习如何让它们在你的计算机上运行 在本文中 我们将介绍如何让Pyt
  • ajax请求不能下载文件

    最近在做文件下载 后台写了个控制层 直接走进去应该就可以下载文件 各种文件图片 excel等 但是起初老是下载失败 并且弹出下面的乱码 前台请求代码 fileexcel unbind click bind click function al
  • 【随笔】年轻人的存款多少取决于个人或家庭的消费观

    近日 有调查称 大概五分之一的年轻人存款在一万元以内 10万元存款是一个 坎 存款超过10万就会超过53 7 的人 年轻人 存款 两个词碰撞在一起 引来了广泛的关注和讨论 你认为年轻人存款难吗 可以从以下几个角度发表你的看法 目录 一 灵魂
  • 脑机接口BCI技术概述

    脑机接口BCI技术概述 前言 一 脑机接口BCI是什么 二 BCI的框架 1 信号采集 2 信号处理 2 1 预处理 2 2 特征提取 2 3 模式分类 3 BCI应用 三 脑控系统中常用的BCI范式 1 基于感觉运动节律的BCI 2 基于
  • v-text的用法

    v text指令 相当于原生js中的innerText 用于将数据填充到标签中 作用于插值表达式类似 但是没有闪动问题 如果数据中有HTML标签会将html标签一并输出 注意 此处为单向绑定 数据对象上的值改变 插值会发生变化 但是当插值发
  • 安卓智能手机开发,打地鼠实例(登录页面+游戏界面+课程设计)

    主要为大家详细介绍了Android实现打地鼠小游戏 文中示例代码介绍的非常详细 具有一定的参考价值 感兴趣的小伙伴们可以参考一下 文件 url80 ctfile com f 25127180 743379579 b297fb p 55168