温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL索引、视图、存储过程

发布时间:2020-02-25 17:23:38 来源:网络 阅读:232 作者:wx5d8ab22a0be5a 栏目:MySQL数据库

一、索引的概念
数据库中的索引与书籍中的目录类似

  • 在一本书中,无需阅读整本书,利用目录就可以快速查找所需信息
  • 书中的目录是一个词语列表,其中表明了包含各个词的页码
    数据库索引
  • 在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据
  • 数据库中的索引是某个表中一列或者若干列值得集合,以及物理标识这些值得数据页的逻辑指针清单
    索引优点:可以快速找到数据
    缺点:占用硬盘资源
    二、索引的作用
  • 设置了合适的索引之后,数据库利用各种快速的定位技术,能够大大加快查询速率
  • 特别是当表很大时,或者查询涉及到多个表时,使用索引可使查询加快成千倍
  • 可以降低数据库的IO读写成本,并且索引还可以降低数据库的排序成本
  • 通过创建唯一性索引保证数据表数据的唯一性
  • 可以加快表与表之间的连接
  • 在使用分组和排序时,可大大减少分组和排序时间
    三、索引的分类
    普通索引
  • 这是最基本的索引类型,而且它没有唯一性之类的限制
    唯一性索引
  • 这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一
  • 唯一性索引允许为空,但是只能有一次为空
    主键
  • 主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”
    全文索引
  • MySQL从3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的索引类型为FULLTEXT,全文索引可以在VARCHAR或者TEXT类型的列上创建
    单列索引与多列索引
  • 索引可以是单列上创建的索引,也可以是在多列上创建的索引
    四、创建索引的原则依据
  • 表的主键、外键必须有索引
  • 数据量超过300行的表应该有索引
  • 经常与其他表进行连接的表,在连接字段(外键)上应该建立索引
  • 经常出现在Where子句中的字段,特别是大表的字段,应该建立索引
  • 索引应该建在选择性高的字段上
  • 索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引
  • 针对大的文本字段甚至超长字段,建立全文索引,fulltext
  • 唯一性太差的字段不适合建立索引
  • 更新太频繁的字段不适合创建索引
    五、创建索引的方法
  • 根据企业需求选择了合适的索引之后,可使用CREATE INDEX创建索引
  • CREATE INDEX加上各个索引关键字便可创建各个类型的索引
    实操过程
    MySQL索引、视图、存储过程
    MySQL索引、视图、存储过程
    MySQL索引、视图、存储过程
    1.创建普通索引
    MySQL索引、视图、存储过程
    MySQL索引、视图、存储过程
    删除索引
    MySQL索引、视图、存储过程
    2.创建唯一索引
    MySQL索引、视图、存储过程
    删除索引
    MySQL索引、视图、存储过程
    “alter table”创建唯一索引
    MySQL索引、视图、存储过程
    还有一种方式就是在创建表的时候,就定义索引。
    MySQL索引、视图、存储过程
    MySQL索引、视图、存储过程
    MySQL索引、视图、存储过程
    创建hobby表
    MySQL索引、视图、存储过程
    给hobby表添加数据
    MySQL索引、视图、存储过程
    将两张表关联在一起
    MySQL索引、视图、存储过程
    MySQL索引、视图、存储过程
    这就是典型的多表相连查询
    避免冗余的代码可以为表取别名
    MySQL索引、视图、存储过程
    视图概述
    是一张虚拟的表,数据不存在视图中,只是真实表的映射数据。利用条件筛选、分组、排序等产生出一个结果集,保存在内存中,并且做成持久化保存。(只保存映射)
    视图占资源少,相当于软连接,快捷方式
    真实表中数据发生变化,视图也会随之发生相应的变化。
    create view 视图名称 as 查询语句(select id,name,age) from 表名 where(条件) id=1 or id=5;

    视图的作用:可以根据不同的用户,创建不同的视图。根据权限查看不同的视图;加强安全性;方便sql操作。
    实操
    创建视图
    MySQL索引、视图、存储过程
    查看视图
    MySQL索引、视图、存储过程
    存储过程概述
    存储过程:存储过程多用于软件开发方向
    防止代码在网络传输过程中被截获,做了安全性保障
    原始状态:代码中需要嵌入sql语句:通过连接驱动(java就是jdbc)————把sql语句作为参数,传递给mysql数据库进行执行。
    存储过程是写在数据库中,并不是程序中。
    程序是通过调用存储过程名称去触发操作,(类似shell中的函数),
    优点:代码量优化,减少代码量,
    传输安全,隐藏sql语句
    网络优化。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI