索引、视图、事务

索引

    是一个数据结构,用来查询数据库表的数据

    主键索引:

      primary  key

      作用:确认表中一条特定数据记录的位置,不能为空,一个表只有一个主键

    外键索引:表中的一个字段(非主键)指向另一张表中的主键,称该字段为主键。

      foreign  key(外键名)  references  主表(主键) ;

      作用:多表查询时方便联系两表数据。限制:表类型必须是innodb(有约束效果)

    唯一索引:确定某一列不能出现重复的值

      unique

    普通索引:

      create  index   索引名   on   表名(列名)

    索引操作:

      创建:create  index   索引名   on   表名(列名)

      查看:show    index   from   表名

      删除:drop     index   索引名  on  表名  

视图

    是一个虚拟的表,不占用物理内存、不存放数据,数据只存在基表中,相互影响

    优点:简单、方便,查看数据更清楚;安全性:保护数据;不占物理内存

    缺点:性能差;查询效率偏低,需要转换;修改限制:对于复杂视图(多表查询)修改是麻烦的

    创建:create   view   视图名    as   select语句

    查询:show    creaw     view    视图名

    删除:drop   view     视图名

事务

    将多个SQL语句要完成的任务看出一个任务,只要有一个环节出错,所有的语句都不执行

    限制:表类型必须是innodb、先关闭数据库的自动提交(set autocommit=0/1(开启))

    回滚:返回前面的操作      rollback

    提交:开启自动提交:set   autocommit=1

       关闭自动提交:set   autocommit=0

原文地址:https://www.cnblogs.com/Fairy-Princess/p/11143545.html

时间: 2024-08-07 18:15:23

索引、视图、事务的相关文章

MySQL——索引视图事务,存储引擎MyLSAM和InnoDB(实战篇!)

索引的作用 设置了合适的索引之后,数据库利用各种快速的定位技术,能够大大加快查询速率: 特别是当表很大时,或者查询涉及到多个表时,使用索引可使查询加快成千倍: 可以降低数据库的IO成本,并且索引还可以降低数据库的排序成本: 通过创建唯一性索引保证数据表数据的唯一性: 可以加快表与表之间的连接: 在使用分组和排序时,可大大减少分组和排序时间: 1,进入数据库,创建数据库,创建表 [[email protected] ~]# mysql -uroot -p ##进入数据库 Enter passwor

触发器 索引视图 游标 事务

  触发器 create trigger tr_banj_insert on t_banj after insert as begin declare @log varchar(50) select @log='插入的记录:banj_mc=' +banj_mc+'banzr='+banzr from inserted --新数据 insert into t_log (biaomc,caoznr) values('t_banj',@log) end create trigger tr_banj_d

MySQL索引与事务,视图,存储引擎MylSAM和lnnoDB

MySQL索引与事务,视图,存储引擎MylSAM和lnnoDB 索引的概念 数据库中的索引与书籍中的目录类似: 1.-本书中,无须阅读整本书,利用目录就可以快速查找所需信息2.书中的目录是一个词语列表,其中注明了包含各个词的页码 数据库索引: 1.在数据库中,索弓|使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据2.数据库中的索弓|是某个表中一-列或者若干列值的集合,以及物理标识这些值的数据页的逻辑指针清单 索引的作用: 1.设置了合适的索引之后,数据库利用各种快速的定位技术,能够大大

SQLServer中使用索引视图

在SQL Server中,视图是一个保存的T-SQL查询.视图定义由SQL Server保存,以便它能够用作一个虚拟表来简化查询,并给基表增加另一层安全.但是,它并不占用数据库的任何空间.实际上,在你查询它之前,视图并不做任何事情. 索引视图 在SQL Server 2000和2005中,你能够给视图增加索引.但是,如果视图只是一个保存在数据库中的查询定义,在运行前没有自己的数据,你如何给那个定义建立一个索引呢?嗯,这比较麻烦. 索引视图是一个已被物化或保存在数据库中的视图.当基本表更新时,给视

MySQL索引与事务详解

MySQL索引与事务详解 一.前言 ? 上一章我们讲解了MySQL的手工编译安装流程以及相关的数据库操作命令(sql语句),本文将要详细介绍MySQL索引与事务的概念及原理,并初步了解MySQL数据库视图概念,简述数据库的存储过程. 二.索引 2.1索引的概念--什么是索引? ? 一般来说,一篇论文,或者说一本书,都有其目录,而目录一般是所有章节的概述,或者说是要点核心,而索引的概念其实也与之类似. ? 索引,顾名思义,就是一个方便用户搜索所需资源的引导,只不过在数据库中,索引一般被认为是一种特

【Oracle】第三章索引视图序列

第三章索引视图序列 序列是用来生成唯一,连续的整数的数据库对象.序列是用来自动生成主键或唯一键的值. CREATE SEQUENCE  sequence_name START WITH  integer INCREMENT BY  integer MAXVALUE   integer|nomaxvalue MINVALUE    integer|nominvalue CYCLE|NOCYCLE CACHE  integer|nocache; START WITH     指要生成的第一个序列号,

hadoop Hive 的建表 和导入导出及索引视图

   1.hive 的导入导出 1.1 hive的常见数据导入方法 1.1.1 从本地系统中导入数据到hive表 1.创建student表 [ROW FORMAT DELIMITED]关键字,是用来设置创建的表在加载数据的时候,支持的列分隔符.[STORED AS file_format]关键字是用来设置加载数据的数据类型,默认是TEXTFILE,如果文件数据是纯文本,就是使用 [STORED AS TEXTFILE],然后从本地直接拷贝到HDFS上,hive直接可以识别数据. 2本地创建文件

SQLServer中使用索引视图(物化视图)

物化视图:以前用的普通的视图,普通视图就是一段逻辑语句,对性能没有任何的提升,也不能创建索引,而物化视图会把视图里查询出来的数据在数据库上建立快照,它和物理表一样,可以创建 索引,主键约束等等,性能会有质的提升,但是其有缺点,会占用,可以设置它定时自动更新一次,也可以手动更新,当然也是可以设置及时更新的,但是会拉慢基表的增删改查操作,在这里我只讲思路,具体的话大家可以自己去研究. + ? --创建物化视图,每天晚上22:00:00自动更新 create materialized view VM_

视图性能优化——索引视图

视图性能优化——索引视图http://blog.csdn.net/eriato/article/details/41039985 索引视图 索引视图有助于提高 T-SQL 的性能 Itzik Ben-Gan T-SQL 是一种允许您以逻辑方式设计请求的语言.这里所说的“逻辑”的意思是,当编写查询时,您指定的是希望获得什么 结果,而不是希望以何种方式 获得结果.对如何处理查询进行设计是查询优化器的工作.您所遇到的需要 T-SQL 解决方案的每个问题通常都有许多不同的解决方案,它们最终会返回同样的结

SQL Server索引视图以(物化视图)及索引视图与查询重写

经常听Oracle的同学说起来物化视图,物化视图的作用之一就是可以实现查询重写,听起来有一种高大上的感觉, SQL Server也有类似于Oracle物化视图的功能,只不过叫做索引视图. 说实话,还是物化视图听起来比较合适,与普通视图比,物化视图就是直接将数据存储起来了 SQL Server中的索引视图也具有查询重写的功能, 所谓的查询重写,就是如果符合条件的数据在索引视图上,并且查询列都包含在在索引视图上,此时可以直接通过查询索引视图来替代基于原始表的查询 依旧惯例,先上代码做一个测试环境 -