视图、游标、慢查询日志

news2025/7/22 15:17:30

Java知识点总结:想看的可以从这里进入

目录

      • 2.7、视图、游标
        • 2.7.1、视图
        • 2.7.2、游标
      • 2.7、慢查询日志

2.7、视图、游标

2.7.1、视图

视图是一种虚拟存在的表,同真实表一样,视图也由列和行构成,它不存在于数据库中,是我们在使用sql语句后得到一些数据,然后 MySQL 以得到的数据为基准动态生成的表。它是由一张或多张表的数据而形成的。

所有视图的数据是依赖于真实的数据表,一旦数据表的数据发生改变,视图中的数据也会发生改变。所有视图可以按我们所需进行筛选数据显示,它提高了SQL语句的复用性和表的安全性。

  • 视图不是数据库中真实的表,是一张虚拟表,是基于真实表中的数据,它是根据 sql 语句产生的。
  • 视图没有实际的物理记录,不是以数据集的形式存储在数据库中的,它只是显示 sql 语句临时检索的数据的一个窗口,方便我们查看结果。
  • 视图是查看数据表的一种方法,使用视图的数据安全性更高,可以让用户不接触数据表。
  • 视图的建立和删除只影响视图本身,不影响对应的基本表。
  • 视图表可以和真实表一样进行增删改查等操作
-- 创建视图
CREATE VIEW 视图名 AS select语句;    -- 通过那一条语句创建视图
-- 修改视图
ALTER VIEW 视图名 AS select语句;
-- 查看视图的创建语句
SHOW CREATE VIEW 视图名;
-- 查看存在那些视图
SHOW TABLE STATUS WHERE comment = 'view';
-- 删除视图
DROP VIEW 视图名;
image-20220419184021754

2.7.2、游标

游标是一种使数据操作更加灵活的手段,它能使我们从查询到的多条语句中精确的提取一条记录的机制。

可以把游标理解成一个指针,它就是帮助我们从sql语句的结果集中每次提取一个数据的机制。通过游标每次定位一条数据并取出,然后游标指针下移定位到下一条数据,或者上移定位到上一条数据。类似于在Java中的迭代器,把数据进行逐条遍历。

游标是针对每一行数据而言,它可以把数据进行分离,方便我们对每条数据进行分别的处理。但也正是因为游标是一条条处理数据的,所以当数据量很庞大的时候,会导致速度较慢、内存不足的情况产生,而且在业务中可能会出现死锁影响其他业务操做。

在使用游标时要经历:定义、打开、使用、关闭几个步骤。

-- 定义游标
DECLARE 游标名称 CURSOR FOR 使用游标的sql语句;

-- 打开游标
OPEN 游标名称

-- 取出数据,将数据保存到注定变量中
FETCH 游标名称 INTO 变量名称1,变量名称2,...;

-- 关闭游标
close 游标名称;

2.7、慢查询日志

MySQL提供的一种日志记录,用于记录执行时间超过long_query_time的sql语句。通过慢查询日志,可以查找出哪些查询语句的执行效率低,以便进行优化,long_query_time的默认值为10,记录运行10秒以上的语句。

如果不是调优需要的话,一般不启动该,开启慢查询日志会或多或少带来一定的性能影响。

  1. slow_query_log:是否开启慢查询日志,1表示开启,0表示关闭。

    查询是否开启:show variables like ‘%slow_query_log%’

    set global slow_query_log=1开启了慢查询日志只对当前数据库生效,MySQL重启后则会失效。要永久生效,就必须修改MySQL配置文件my.cnf,然后重启MySQL服务器才能生效。

  2. slow-query-log-file:新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log

  3. long_query_time:慢查询阈值,当查询时间多于设定的阈值时,记录日志。

    查看:show variables like ‘long_query_time%’;

    设置:set global long_query_time=;

  4. log_queries_not_using_indexes:未使用索引的查询也被记录到慢查询日志中(可选项)。

    查看:show variables like ‘log_queries_not_using_indexes’

    设置:set global log_queries_not_using_indexes=1

  5. log_output:日志存储方式。log_output=‘FILE’表示将日志存入文件,默认值是’FILE’。log_output='TABLE’表示将日志存入数据库。

    查看:show variables like ‘%log_output%’;

    设置:set global log_output=‘TABLE’;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/368528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【红黑树】红黑树插入操作相关的细节和疑难拆解分析

本文就红黑树的插入操作进行细致到每一个小步骤的解析。1,成员变量本红黑树使用了三叉链结构,使用的时候尤其要记得处理指向父亲的指针。为何在节点的构造函数中,默认节点的颜色为红色?因为考虑到红黑树的性质(对于每个…

汇编语言 标志位总结

缩写原意: Overflow of = OV NV [No Overflow] Direction df = DN (decrement) UP (increment) Interrupt if = EI (enabled) DI (disabled) Sign sf = NG (negative) PL (positive) Zero zf = ZR [zero] NZ [ Not zero] Auxiliary Carry af = AC NA [ No AC ] Parity pf = PE…

计网个人作业05

R1 链路层可以提供如下服务 链路层服务IP能否提供?TCP能否提供?流量控制✔差错检测✔✔差错纠正全双工、半双工✔ R2 不冗余 IP层有丢包的情况⼀个⻓的 TCP 报⽂段会被分⽚成多个 IP 数据报形成不同的帧,不同的帧可能会被不同链路传输。同…

二.线性表之顺序表

文章目录前言一.顺序表的概念及结构二.顺序表的接口实现1.顺序表的动态存储2.顺序表的初始化3.顺序表尾插#封装:扩容函数4.顺序表尾删5.顺序表头插6.顺序表头删7.顺序表查找8.顺序表在pos位置插入x9.顺序表删除pos位置的值10.顺序表销毁11.顺序表打印三.源1.Seqlist…

3000字,聊一聊学习低代码和学习编程到底有什么区别?

作者介绍胡艳平,万应低代码联合创始人、CTO,中国信通院低代码/无代码推进中心技术专家,全国信标委《低代码开发平台能力要求》起草人之一。曾有科技公司CTO问我:低代码是不是一种不用敲代码的编程语言?在不确定低代码能…

机器人学习的坚持与收获-2023

所有的机会都需要自己努力去争取,毕竟天会下雨下雪,但是不会掉馅饼。之前写过关于毕业生的一些博文。机器人工程ROS方向应用型本科毕业设计重点课题学生验收成果(暂缓通过)机器人工程ROS方向应用型本科毕业设计重点课题学生验收成…

如何让人机对话更自然?

来源:投稿 作者:顾相欢 编辑:学姐 AAAI-2022|定制对话的人设和知识背景 原文标题: Call for Customized Conversation: Customized Conversation Grounding Persona and Knowledge 原文链接: https://arxiv.org/ab…

分类预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆网络数据分类预测

分类预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆网络数据分类预测 目录分类预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆网络数据分类预测分类效果基本描述程序设计参考资料分类效果 基本描述 1.Matlab实现WOA-CNN-BiLSTM鲸鱼算法优化卷…

Ubuntu下gcc多版本管理

Ubuntu下多gcc版本的管理 开发过程中,在编译一个开源项目时,由于代码使用的c版本过高,而系统内置的gcc版本过低时,这个时候我们就需要升级gcc版本,但是为了避免兼容性问题,安装多个版本的gcc,然…

uniapp中调用.net6 webapi

使用uniapp开发程序时,不管是小程序,还是H5界面,它们只是一个显示界面,也就是只充当前台界面,那么我们后台使用.net6 webapi写业务逻辑,然后前端访问后端,即可实现前后端分离开发软件的模式。 …

连不上虚拟机我谁都怀疑了!唯独没怀疑VirtualBox这个浓眉大眼的家伙!

这里写自定义目录标题一、问题和现象环境二、思考和尝试三、问题原因VirtualBox NAT模式的坑四、解决办法1、双网卡2、配置转发端口一、问题和现象 fileZilla连接不上虚拟机(Linux/centOS)。 ping不通虚拟机。 ssh连接不上虚拟机。 环境 Win10主机使用…

上岸16K,薪资翻倍,在华为外包做测试是一种什么样的体验····

现在回过头看当初的决定,还是正确的,自己转行成功,现在进入了华为外包测试岗,脱离了工厂生活,薪资也翻了一倍不止。 我17年毕业于一个普通二本学校,电子信息工程学院,是一个很不出名的小本科。…

吃透8图1模板,人人可以做架构

前言 在40岁老架构师 尼恩的读者交流群(50)中,很多小伙伴问尼恩: 大佬,我们写架构方案, 需要从哪些方面展开 大佬,我们写总体设计方案需要一些技术亮点,可否发一些给我参考下 诸如此类,问法很多…

Serverless Kubernetes的思考与征程

​作者:牛秋霖、张维、李传云、易立 本文将针对Serverless Container技术的特殊性,分享其对Kubernetes的架构影响,以及阿里云在Serverless Kubernetes方面架构选择。 一、Serverless Container缘起 在2018年,容器团队与弹性计算团…

9 种会让你大吃一惊的副业工具

然而,副业需要使用许多工具。我举个例子:我在网上写文章,做数字产品,需要用到各种工具。相信我,免费的互联网工具可以帮助我快速完成工作,这样我就可以赚更多的钱并有更多的空闲时间。注意:这些…

初阶C语言——指针【详解】

文章目录1.指针是什么2.指针和指针类型2.1 指针的解引用2.2 指针 -整数3.野指针3.1 野指针成因3.2 如何规避野指针4. 指针运算4.1 指针-整数4.2 指针-指针4.3 指针的关系运算5. 指针和数组6. 二级指针7. 指针数组1.指针是什么 指针理解的2个要点: 指针是内存中一个最…

【LeetCode】2357. 使数组中所有元素都等于零

2357. 使数组中所有元素都等于零 题目描述 给你一个非负整数数组 nums 。在一步操作中,你必须: 选出一个正整数 x ,x 需要小于或等于 nums 中 最小 的 非零 元素。nums 中的每个正整数都减去 x。 返回使 nums 中所有元素都等于 0 需要的 …

【JavaScript速成之路】JavaScript运算符

📃个人主页:「小杨」的csdn博客 🔥系列专栏:【JavaScript速成之路】 🐳希望大家多多支持🥰一起进步呀! 文章目录前言运算符1,算术运算符2,递增递减运算符3,比…

VMware ESXi 7.0 Update 3k - 领先的裸机 Hypervisor (sysin Custom Image)

VMware ESXi 7.0 Update 3k - 领先的裸机 Hypervisor (sysin Custom Image) VMware ESXi 7.0 Update 3k Standard & All Custom Image for ESXi 7.0 U3k Install CD 请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3/,查看最新版。原创作品…

程序员必备的软技能-金字塔原理拆解(上)

原书 290千字,本文预计 14千字,拆解比 20:1,预计阅读时长 15分钟序言日常工作中,常常因为思维、表达方式不对产生不想要的结果:写了一个小时的周报,领导却不满意?跟团队讲了半天自己…