MySQL进阶学习笔记三(包括视图、索引、数据库优化)

《黑马程序员MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化》学习笔记总目录 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化》所有知识点的笔记进行总结分类。学习时总结的目录笔记以及。和实训,将在后续更新。第一章:MySQL概述。 阅读详情

1、视图

(1)什么是视图?

          数据库对象,他是一一个虚拟表底层并非以键值形式保存数据,在执行过程中动态从基表中获取数据。(视图以表为底层来查询)

(2)视图的基本语法?

create view view_name
as
查询

#查询信息部门的员工信息
create view view_emp
as
select * from emp where deptno="信息部门";

#执行增删改查操作和表一致

2、索引

(1)、什么是索引?

          提升查询效率而创建数据结构

(2)、索引分类

          B-Tree:默认,MySQL中默认采用B+树方法来维护索引列数据。B+树是一个多路搜索树。

          不同的存储引擎对索引的存储策略不一致。

                     mylsam:叶子节点中保存记录的地址

                     Innodb:叶子节点中直接保存相应的数据。

          位图索引

          哈希索引

(3)、索引的创建

          普通索引:

create index index_name on 表(字段);

#查看查询效率
EXPLAIN SELECT * FROM purchase_order WHERE purchase_id='287539220190520090550123';
#给表添加索引
create index index_purchase_id on purchase_order(purchase_id); 

          唯一索引:

create unique index index_name on 表(字段);

          全文索引:

          空间索引:

          复合索引:多列作为索引字段

(4)、索引的删除

drop index 名字 on 表;

(5)、索引的选择

          索引需要单独文件来保存维护。

          表数据发生变化需要维护索引表。

          适合添加索引的表:表数据量足够大,增删改操作较少

          适合添加索引的字段:高基数列,

          索引说明:索引不适合添加过多,经常作为查询条件的列适合作为索引,但是某些特殊情况下索引会失效。

3、数据库优化

(1)sql优化:

       a、尽量减少*得使用(*会被转换为列名,再进行查询)

       b、索引失效问题:

             索引列不要使用is not null/is null

             索引列不要使用函数

             索引列不要进行计算

             索引列上不使用not(!=/<>)

             索引列不要使用or(用union来替换)

             索引列不要使用包含(like '%keywords%')

       c、exists和in的选择

             exists先执行主查询

             in 先执行子查询

深入《MySQL视图》及《MySQL索引与分区》 欢迎来到这篇全面的MySQL视图教程。在数据库的世界中,视图(View)是一个强大的工具,它允许你以一种安全且用户友好的方式操作数据。本篇博文将带你了解什么是视图、如何创建它们,以及如何有效地使用视图来简化你的数据库操作。 阅读详情

相关推荐

MySQL视图与索引

视图是数据库中的一种虚拟表,它由查询语句生成,根据特定的条件从一个或多个基本表中检索数据。视图可以根据需要选择性地显示表的某些列,并且可以根据查询语句的定义对数据进行过滤、排序、聚合等操作。视图并不实际存储数据,而是在访问时动态地从基本表中检索数据。通过创建视图,可以简化复杂的查询操作,并提供更方便、更易读的数据访问方式。视图还可以用于隐藏敏感的数据,保护隐私。视图的定义包括视图名称、所涉及的基本表、查询语句以及可选的列别名等。

kissship的博客 2584

MySQL索引、视图创建与管理操作实验

实验4:索引、视图创建与管理操作实验 一、实验目的: 理解索引的概念与类型。 掌握创建、更改、删除索引的方法。 掌握维护索引的方法。 理解视图的概念。 掌握创建、更改、删除视图的方法。 掌握使用视图来访问数据的方法。 二、验证性实验 在job数据库中有登录用户信息:userlogin表和个人信息:information 表。具体如表结构所示。 create database job; use...

好奇独角兽 3万+

数据库视图的索引优化技巧

在当今的信息时代,数据库扮演着至关重要的角色。随着数据量的不断增长,数据库的查询性能成为了一个关键问题。数据库视图是一种虚拟表,它不实际存储数据,而是根据定义的查询语句动态生成结果。然而,视图的查询可能会比较耗时,尤其是在处理大量数据时。本文的目的就是介绍如何通过索引优化来提高数据库视图的查询性能。我们将涵盖常见的数据库管理系统,如 MySQL、Oracle 等,介绍适用于这些系统的视图索引优化技巧。本文首先会介绍数据库视图和索引的核心概念,解释它们之间的关系,然后详细阐述视图索引优化的原理和架构。

AI天才研究院 819

MySQL 进阶学习笔记(包括MySQL的存储引擎、索引、SQL优化、视图、存储过程、触发器、锁InnoDB引擎和MySQL管理)的相关内容详细版

存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可以被称为表类型。MySQL 支持多种存储引擎,每种引擎适用于不同的应用场景.1. 查询建表语句-- 查询建表语句,默认存储引擎:InnoDBshow create table 表名;-- 结果) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表'

2301_76901778的博客 1119

Bochs源码分析 - 4: 使用ida来调试bochs

前言 bochs内部提供了一个调试器,但是这个命令行调试器相当难用,想找一个gui的debugger。第一次是在百度百科的bochs词条中介绍的peter-bochs-debugger调试器(java编写),但是后来发现ida也有一个bochs调试器,因为对ida比较熟悉,就选用此作为bochs调试器。 在配置过程中参考博客 https://blog.youkuaiyun.com/cssxn/article/details/90738498 中的配置,但是这是直接发布版本,拿源码编译...

WriteAnything_的博客 2756

优化QT QML中RTSP流播放延迟:海康摄像头实时监控实践

本文详细探讨了在QT QML中优化海康摄像头RTSP流播放延迟的实践方法。通过调整MediaPlayer缓冲策略、硬件加速、解码器优选等五大技巧,显著降低实时监控场景下的延迟问题。文章还提供了海康摄像头RTSP连接实战代码和避坑指南,帮助开发者快速实现高效流媒体播放。

weixin_28363123的博客 557

MySQL索引和视图

MySQL索引是提高查询效率的数据结构,采用B+树实现,支持高效范围查询。索引有主键、唯一等类型,介绍了视图的使用和简单性、安全性等优点

2401_89019969的博客 5768

别再手动调时间了!用Windows自带的tzutil命令,1分钟搞定时区错误

本文介绍了如何使用Windows自带的tzutil命令快速解决时区错误问题。通过简单的命令行操作,用户可以一键切换时区、查看全球时区代码库,并实现自动化时区同步。相比传统GUI设置,tzutil更可靠且高效,特别适合企业环境批量部署。

weixin_42531494的博客 314

《MySQL数据库》day4 --索引和视图

索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,当然,多个字段联合起来也可以添加索引。索引相当于一本书的目录,是为了缩小扫描范围而存在的一种机制。List item一页一页挨着找,直到找到为止,这种查找方式属于全字典扫描。效率比较低。先通过目录(索引)去定位一个大概的位置,然后直接定位到这个位置,做局域性扫描,缩小扫描的范围,快速的查找。这种查找方式属于通过索引检索,效率较高。例如 t_user 这张表2 lisi。

qq_59702185的博客 1463

彻底解决tplink路由器无法访问部分https网站

彻底解决tplink无法访问部分https网站

renkai721的专栏 8764

rk3568 rk628桥片 rgb2hdmi

RK628 是瑞芯微全新推出的视频桥接芯片,支持丰富的显示接口,支持高分辨率大屏产品转换需求。基于DRM、FB的显示框架易于使用。 输入信号支持:HDMI、RGB、BT.1120,输出信号支持 HDMI、GVI、Dual LVDS、Dual MIPI、MIPI-CSI、RGB、BT.1120,最高支持4K 60fps 输入/输出转换,并且支持输入到输出 1/4~4倍的缩放。

weixin_35723192的博客 452

MySQL视图和索引

索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,可以用来快速查询数据表中有某一特定值的记录。通过索引,查询数据时不用读完记录的所有信息,而只是查询索引列。否则,数据库系统将读取每条记录的所有信息进行匹配。可以把索引比作新华字典的音序表。例如,要查“库”字,如果不使用音序,就需要从字典的 400 页中逐页来找。但是,如果提取拼音出来,构成音序表,就只需要从 10 多页的音序表中直接查找。这样就可以大大节省时间。因此,使用索引可以很大程度上提高数据库的查询速度,还有效的提高了数据库系统的性能。

空空bye. 1733

ARMv8/ARMv9的TLB深度学习

千万不要人云亦云。一个TLB entry里有很多很多东西的,有100多个比特位呢,并不是仅仅只有VA/PA/nG/VMID/ASID等。.👉👉👉 个人博客笔记导读目录(全部) 👈👈👈。

baron-周贺贺-代码改变世界ctw 1569

【MySQL】视图、索引

数据库视图+索引

低调做人,低调编码,神码都是浮云 1302

零基础学习simulink-- 基于自适应模糊PID控制的直流电机速度控制系统

通过上述代码实现,您可以逐步创建和搭建一个基于自适应模糊PID控制的直流电机速度控制系统。该系统能够根据电机的状态和误差实时调整PID参数,确保电机速度稳定在设定范围内。自适应模糊PID控制具有较强的鲁棒性和适应性,能够在存在不确定性和扰动的情况下提供快速且精确的控制性能。Simulink提供了强大的建模和仿真工具,使得控制系统工程师能够快速构建复杂的控制算法,并将其应用于实际工程中。直流电机建模:建立直流电机的动态模型,包括电枢电压、电流、转速和负载扭矩。自适应模糊PID控制器设计。

amy_mhd的博客 413

华为OD机试双机位C卷:完美走位 (C++/C/Py/Java/Js/GO)

华为OD机试双机位C卷 完美走位, 提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机考 完美走位, 华为OD机试 完美走位。

qq_45776114的博客 1724

MySQL数据库——事务、索引和视图

愿你的每一次数据库操作都像春风般舒适,每一次查询都如闪电般迅速

qq_73698057的博客 1226

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【数据库】MySQL 索引视图详解

什么是视图;为什么需要视图;视图的作用和优点;创建视图;修改视图;删除视图;什么是索引;索引优缺点;索引分类;索引的设计原则;创建索引;删除索引;聚簇索引和非聚簇索引

weixin_48814356的博客 3208

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【数据库】MySQL索引和视图的创建

写在前面: 如果大家需要深入了解视图和索引,这里推荐两篇blog: (19条消息) MySQL视图_pan_junbiao的博客-优快云博客_mysql 视图 (19条消息) 一文搞懂MySQL索引所有知识点(建议收藏)_敖 丙的博客-优快云博客_mysql索引知识点 本篇只是MySQL的简单操作。 建立索引 1、使用CREATE INDEX和ALTERTABLE命令为Student表创建一个名为S_dept的普通索引,以系别排序。 起初我们往表格里存储数据的时候,数据的物理存储顺序就是按.

明璐花生牛奶的博客 4261

MySQL数据库学习日志(六):索引和视图

MySQL数据库学习日志(六):索引和视图 MySQL数据库学习日志(六):索引和视图索引(一)索引概述(二)优缺点(三)分类1. 按照底层实现的方式2. 按照功能划分普通索引唯一索引组合索引(四)创建索引的条件(五)索引使用注意事项(六)索引的内部原理相关算法介绍谈谈你对b树和b+树的理解:视图(一)视图概述(二)视图的作用(三)视图的基本操作1. 创建视图2. 修改视图3. 更新视图3. 其它操作end 索引 腾讯云数据库负责人林晓斌说过:“我们面试 MySQL 同事时只考察两点,索引和锁”。 (一)

张小憨憨的博客 2698

MySQL 数据库视图、事务、索引---学习总结

视图( view ): 视图概述: 通俗的讲, 视图就是一条 select 语句执行后返回的结果集 视图是对若干张基本表的引用, 一张虚拟表, 查询语句执行的结果, 不储存具体数据( 基本表数据改变, 视图也会跟着改变 ) 主要用于方便 查询 操作, 减少复杂的 SQL 语句, 增强可读性 创建视图: 视图名: 建议以 v_ 开头 create view 视图名 as select查...

Nick.Peng's Blogs 3452

MySQL中的视图、索引以及事务的简单使用

前言视图,索引,事务的使用以及考点。内容不会难,主要是为以后优化以及提高查询效率打基础。MySQL基础内容已经完结,以后就更新此专栏的JDBC知识了,感兴趣的伙伴可以订阅专栏喔,期待你的关注与支持~......

叶落秋白的博客 1022

六、MySQL之视图与索引

视图通过定制的方式显示来自一个表或多个表的数据。视图的本质 是数据库对象,如果成功的创建了视图,用户可以像操作普通表一样查询甚至修改视图内的数据。视图的本身是没有任何的数据的 ,它只是对表的一个查询结果进行了实体化的反馈。有关于视图所有的定义,保存在数据字典内,创建视图所基于的表称为"基表"。模式(schema)中的一个数据库对象在数据库中用来加速对表的查询通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O与表独立存放,但不能独立存在,必须属于某个表。

搞运维的 1497

MySQL中的视图与索引

索引是一种很特殊的数据库结构,可以用来快速查询数据库表中的特定记录。它也是提高数据库性能的重要手段。从理论上分析,在MySql中,所有的数据类型,都可以被索引。常见的索引:普通索引、惟一性索引、全文索引、单列索引、多列索引和空间索引等。模式(schema)中的一个数据库对象在数据库中用来加速对表的查询通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O与表独立存放,但不能独立存在,必须属于某个表由数据库自动维护,表被删除时,该表上的索引自动被删除。

AXDRXS的博客 1790

mysql之视图、索引

视图 什么是视图 视图(View)是一种虚拟存在的表,同真实表一样,视图也由列和行构成,但视图并不实际存在于数据库中。行和列的数据来自于定义视图的查询中所使用的表,并且还是在使用视图时动态生成的。 数据库中只存放了视图的定义,并没有存放视图中的数据,这些数据都存放在定义视图查询所引用的真实表中。使用视图查询数据时,数据库会从真实表中取出对应的数据。因此,视图中的数据是依赖于真实表中的数据的。一旦真实表中的数据发生改变,显示在视图中的数据也会发生改变。 视图的作用 定制用户数据,聚焦

m0_68879220的博客 3152
上一篇: MySQL进阶学习笔记二(包括连接查询、子查询、联合查询、事务、存储过程)
King-Java
博客等级 码龄8年 30粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值