当前位置: 首页 > news >正文

免费品牌网站制作哪些浏览器可以看禁止访问的网站

免费品牌网站制作,哪些浏览器可以看禁止访问的网站,服装公司网站模版,做seo的网站在实际的数据库管理和性能优化工作中,MySQL 慢查询日志(slow query log)是一个重要的工具。当系统中的 SQL 查询花费的时间超过阈值时,MySQL 会将这些查询记录在慢查询日志中,方便进行性能分析和调优。 本文将介绍如何…

在实际的数据库管理和性能优化工作中,MySQL 慢查询日志(slow query log)是一个重要的工具。当系统中的 SQL 查询花费的时间超过阈值时,MySQL 会将这些查询记录在慢查询日志中,方便进行性能分析和调优。

本文将介绍如何使用 Python 和正则表达式来整理 MySQL 慢查询日志,提取并排序 SELECT 查询,并生成一个更易读的输出文件。

背景

慢查询日志是 MySQL 中的一个功能,可以记录执行时间超过指定阈值的 SQL 查询。日志中包含了每次慢查询的执行时间、查询语句、用户信息等。但有时候,日志文件可能包含大量无关紧要的信息,如用户信息、时间戳等,而我们关心的可能只是查询语句和执行时间。

代码解析

以下是整理 MySQL 慢查询日志的 Python 代码:

import re# 本地文档文件路径
file_path = "1-16-1-22.txt"# 读取本地文档
with open(file_path, 'r', encoding='utf-8') as file:query_document = file.read()# 将文档按每个查询的起始位置拆分
queries = re.split(r'# Time: [\d-]+T[\d:.]+Z', query_document)[1:]# 提取并过滤SELECT查询
select_queries = []
seen_queries = set()  # 用于追踪已经出现过的查询
for query in queries:if 'select' in query.lower():# 使用正则表达式提取 Query_timequery_time_match = re.search(r'# Query_time: (\d+.\d+)', query)query_time = float(query_time_match.group(1)) if query_time_match else 0.0# 将 # Query_time: ... 与后续 SQL 查询语句分隔开query_lines = re.split(r'# Query_time: \d+.\d+.*?\n', query, flags=re.DOTALL)# 过滤掉空行query_lines = [line.strip() for line in query_lines if line.strip()]# 如果有多行 SQL 查询语句,加上换行formatted_query = "\n".join(query_lines)# 去除包含 # User@Host: ... 和 SET ... 的行formatted_query = re.sub(r'# User@Host:.*?\n', '', formatted_query)formatted_query = re.sub(r'SET.*?\n', '', formatted_query)# 检查是否已经出现过这个查询,如果没有则添加到输出if formatted_query not in seen_queries:seen_queries.add(formatted_query)select_queries.append((formatted_query, query_time))# 根据 Query_time 对 SELECT 查询进行排序
sorted_select_queries = sorted(select_queries, key=lambda x: x[1], reverse=True)# 将排序后的 SELECT 查询写入文件
with open('output.txt', 'w', encoding='utf-8') as output_file:for query, query_time in sorted_select_queries:output_file.write(f"Query_time: {query_time}\n")output_file.write(query + '\n')output_file.write("#" * 50 + '\n')  # 用分隔线隔开不同查询

代码说明

  1. 读取文件内容: 使用 open 函数读取慢查询日志文件的内容。
  2. 拆分查询: 利用正则表达式将日志文件按照每个查询的起始位置拆分成列表。
  3. 提取 SELECT 查询: 通过检查每个查询是否包含关键词 'select',过滤出慢查询中的 SELECT 语句。
  4. 去除不必要信息: 使用正则表达式去除查询中的用户信息和 SET 语句。
  5. 排序查询: 根据查询的执行时间进行排序,降序排列。
  6. 写入文件: 将整理后的查询写入输出文件,每个查询之间用分隔线隔开。
http://www.dinnco.com/news/86487.html

相关文章:

  • WordPress站点地图html代码免费十大软件大全下载安装
  • 泰安网站建设公司网络营销知名企业
  • 网站建设移交确认书百度指数是怎么计算的
  • 江西威乐建设集团有限公司企业网站网络营销师报考条件
  • 关于建设网站的需求分析google推广一年的费用
  • 德州聊城网站建设seo文章关键词怎么优化
  • 广东营销型网站建设多少钱百度刷排名百度快速排名
  • 网站建设论文结尾湖南平台网站建设设计
  • 做黑彩网站赚钱吗网络营销的特点有
  • 网站建设学校网站宁波seo网站服务
  • 百度软件seo怎么优化软件
  • 网站备案证书0kb怎么制作网址
  • 济南网站设计公司排名企业网站管理系统
  • 顺德龙江做网站搜索引擎app
  • 专门做进口产品的网站实事新闻热点
  • 网页开发语言有哪几种泰州百度seo公司
  • 免费小程序制作网站杭州云优化信息技术有限公司
  • 汤唯梁朝伟做的视频网站百度一下你就知道搜索引擎
  • 开发公司成本费用表格上海关键词优化报价
  • 网络营销专业的职业生涯规划北京官方seo搜索引擎优化推荐
  • 做网站流程内容怎么做蛋糕
  • 福州网站建设发布seo资源咨询
  • 做美术鉴赏网站的心得一套完整的运营方案
  • 企业如何做好网络推广长沙网站seo
  • 普宁网站建设网络推广员有前途吗
  • 做网站接电话一般要会什么问题营销模式
  • 做网站4000-262-2632023上海又出现疫情了
  • 如何将公司网站做的更好看九易建网站的建站模板
  • vi设计案例赏析蜗牛精灵seo
  • 纯静态做企业网站郑州seo线下培训