MySQL索引、视图、存储过程
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,一、索引的概念数据库中的索引与书籍中的目录类似在一本书中,无需阅读整本书,利用目录就可以快速查找所需信息书中的目录是一个词语列表,其中表明了包含各个词的页码数据库索引在数据库中,索引使数据库程序无须对
千家信息网最后更新 2024年11月11日MySQL索引、视图、存储过程
一、索引的概念
数据库中的索引与书籍中的目录类似
- 在一本书中,无需阅读整本书,利用目录就可以快速查找所需信息
- 书中的目录是一个词语列表,其中表明了包含各个词的页码
数据库索引 - 在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据
- 数据库中的索引是某个表中一列或者若干列值得集合,以及物理标识这些值得数据页的逻辑指针清单
索引优点:可以快速找到数据
缺点:占用硬盘资源
二、索引的作用 - 设置了合适的索引之后,数据库利用各种快速的定位技术,能够大大加快查询速率
- 特别是当表很大时,或者查询涉及到多个表时,使用索引可使查询加快成千倍
- 可以降低数据库的IO读写成本,并且索引还可以降低数据库的排序成本
- 通过创建唯一性索引保证数据表数据的唯一性
- 可以加快表与表之间的连接
- 在使用分组和排序时,可大大减少分组和排序时间
三、索引的分类
普通索引 - 这是最基本的索引类型,而且它没有唯一性之类的限制
唯一性索引 - 这种索引和前面的"普通索引"基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一
- 唯一性索引允许为空,但是只能有一次为空
主键 - 主键是一种唯一性索引,但它必须指定为"PRIMARY KEY"
全文索引 - MySQL从3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的索引类型为FULLTEXT,全文索引可以在VARCHAR或者TEXT类型的列上创建
单列索引与多列索引 - 索引可以是单列上创建的索引,也可以是在多列上创建的索引
四、创建索引的原则依据 - 表的主键、外键必须有索引
- 数据量超过300行的表应该有索引
- 经常与其他表进行连接的表,在连接字段(外键)上应该建立索引
- 经常出现在Where子句中的字段,特别是大表的字段,应该建立索引
- 索引应该建在选择性高的字段上
- 索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引
- 针对大的文本字段甚至超长字段,建立全文索引,fulltext
- 唯一性太差的字段不适合建立索引
- 更新太频繁的字段不适合创建索引
五、创建索引的方法 - 根据企业需求选择了合适的索引之后,可使用CREATE INDEX创建索引
- CREATE INDEX加上各个索引关键字便可创建各个类型的索引
实操过程
1.创建普通索引
删除索引
2.创建唯一索引
删除索引
"alter table"创建唯一索引
还有一种方式就是在创建表的时候,就定义索引。
创建hobby表
给hobby表添加数据
将两张表关联在一起
这就是典型的多表相连查询
避免冗余的代码可以为表取别名
视图概述
是一张虚拟的表,数据不存在视图中,只是真实表的映射数据。利用条件筛选、分组、排序等产生出一个结果集,保存在内存中,并且做成持久化保存。(只保存映射)
视图占资源少,相当于软连接,快捷方式
真实表中数据发生变化,视图也会随之发生相应的变化。create view 视图名称 as 查询语句(select id,name,age) from 表名 where(条件) id=1 or id=5;
视图的作用:可以根据不同的用户,创建不同的视图。根据权限查看不同的视图;加强安全性;方便sql操作。
实操
创建视图
查看视图
存储过程概述
存储过程:存储过程多用于软件开发方向
防止代码在网络传输过程中被截获,做了安全性保障
原始状态:代码中需要嵌入sql语句:通过连接驱动(java就是jdbc)----把sql语句作为参数,传递给mysql数据库进行执行。
存储过程是写在数据库中,并不是程序中。
程序是通过调用存储过程名称去触发操作,(类似shell中的函数),
优点:代码量优化,减少代码量,
传输安全,隐藏sql语句
网络优化。
索引
数据
字段
视图
数据库
过程
唯一性
全文
存储
代码
查询
类型
语句
排序
不同
普通
安全
就是
目录
程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
java异步获取数据库数据
网络安全审核人民网
网络技术员图片
中国台湾手机软件开发
如何查看存储服务器磁盘
东芝笔记本能干软件开发吗
网络安全加密发生在什么途径
智能存储服务器测评
喀什联想服务器维保电话
软件开发中sa角色
毕节服务器显卡价格
无锡专业软件开发售后服务
如何向数据库中添加文件格式
贵阳高性能服务器
宁夏网络安全教育品台
石门县天气预报软件开发
伊戈达拉nba数据库
方舟高级服务器怎么进
数据库中用户头像表
网络安全检查 叮嘱
热场仿真模拟软件开发公司
无线热点网络技术
浙江高性能服务器云服务器
前十的电商软件开发公司
数据库计算查询的题
软件开发专员自我评语
网络技术专业新闻
江西服务器机柜品牌
公安机关网络安全网站
数据库怎么做成日报表