postgreSQL数据库(索引、视图)

索引的含义与特点

索引是一个单独的、存储在磁盘上的数据库结构,它们包含对数据所有记录的引用指针,postgresql列类型都可以被索引,对相关列索引是提高查询操作效率的最佳途径。例如,查询select * from table where num=10000.如果没有索引,必须遍历整个表,如果在num上创建索引,PostgreSQL不需要任何扫描,直接索引里面找10000.就知道这行的位置。

索引的优点有:1234 唯一性索引,保证数据完整性2提高查询数据3实现数据参考的完整性,加速表与表连接4.提高数据分组、排序操作的速度。

缺点有:1索引建立耗费一定的物理空间2创建索引耗费时间、数据量的增加,创建索引所耗费的时间增加3数据维护时,索引也要需要动态维护

索引设计原则:1.索引并非越多越好,大量的索引占用大量磁盘空间,影响Insert、delete、update的速度

2.避免对经常更新的表建立索引,对经常查询的表应该创建索引,避免不必要增加字段

3.数据量小的表最好不用索引,数据量少,查询花费的时间可能比遍历索引的时间还要短

4.在条件表达中经常用的,不同值较多的列上建立索引,例如“性别字段”不需要建立索引

5.当唯一性是数据本身的特征时,制定唯一索引,保证列的完整性,提高查询速度

6.在频繁建立排序或分组的列上建立索引时,如果排序的列有多个,可以再这些列上建立组合索引

视图

视图优点:1 简单化

2 安全性,可以用数据库授权命令使每个用户对数据库的检索限制在特定的数据库对象上。但不能限定在特定的行和列上,通过视图,可以将用户限制在数据的不同子集上。

3 保证逻辑数据的独立性

时间: 2024-08-13 18:15:59

postgreSQL数据库(索引、视图)的相关文章

15-07-20 数据库--索引视图编程

1.索引 添加索引,设计界面,在任何一列前右键--索引/键--点击进入添加某一列为索引 2.视图 视图就是我们查询出来的虚拟表 创建视图:create view 视图名 as SQL查询语句     --分组,排序,in 等都不能写 视图的用法: select * from 视图名 3.SQL编程 A.定义变量:declare @变量名 数据类型 B.变量赋值:set @变量名 = 值 C.输出:print 变量或字符串 例如:1.查汽车表中名称含有宝马两个字的 declare @name va

mysql数据库索引和视图,触发器

索引简介  跟存储引擎有很大关系其实就是一种排序,生成一种算法,索引主要用在大数据量的时候使用,数据小根本没必要 索引在mysql中也叫做键,是存储引擎用于快速找到记录的一种数据结构,索引对于良好的性能非常关键,尤其是当表中的数据量越来越大的时候,索引对于性能的影响越发重要. 索引优化应该是最查询性能优化的最有效的手段了,索引能够轻易将查询性能提高好几个数量级. 索引相当于字典的音序表,如果要查某个字,如果不使用音序表,则要从几百页中逐页去查. 索引优缺点 优点 加快访问速度 加强行的唯一性 缺

数据库索引,存储过程,视图,事务

一,索引索引是一个独立的,物理的数据库结构,可以快速找到表或视图的信息通常情况下只有需要经常查询索引列中的数据时才在表上创建索引基本语法:CREATE INDEX StockIndexON appSchema.StockEvents (StockSymbol);创建唯一索引:Create unique index 索引名称On 表名(字段1,字段2)聚集索引:clustered 每个键值只有一个聚集索引非聚集索引noclustered:索引的键值包含指向表中记录存储位置的指针,不对表中数据排序聚

PostgreSQL数据库内核分析 笔记(这本书没有怎么很好的看,主要就是一些数据结构、概念和流程的文字介绍)

PostgreSQL数据库内核分析 跳转至: 导航. 搜索 目录 1系统概述 2体系结构 3存储管理 4索引 5查询编译 6查询执行 7事务处理与并发控制 8数据库安全 9附录A 用Eclipse开发和调试 系统概述 初始化数据库:./initdb --no-locale -D ../data ./pg_ctl start -D ../data 数据库命令:initdb createuser dropuser createdb dropdb pg_dump pg_restore pg_ctl v

postgresql数据库体系结构

postgresql数据库是由:连接管理系统(系统控制器).编译执行系统.存储管理系统.事务系统.系统表 五大部分组成. ①:连接管理系统:接收外部操作对系统的请求,对操作请求进行预处理和分发,起系统逻辑控制作用. ②:编译执行系统:由查询编译器.查询执行器组成,完成操作请求在数据库中的分析处理和转化工作,最终实现物理存储介质中数据的操作. ③:存储管理系统:由索引管理器.内存管理器.外存管理器组成,负责存储和管理物理数据,提供对编译查询系统的支持: ④:事务系统:是由事务管理器.日志管理器.并

数据库索引介绍及使用【转】

数据库索引介绍及使用 一.索引的概念 索引就是加快检索表中数据的方法.数据库的索引类似于书籍的索引.在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息.在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库. 二.索引的特点 1.索引可以加快数据库的检索速度 2.索引降低了数据库插入.修改.删除等维护任务的速度 3.索引创建在表上,不能创建在视图上 4.索引既可以直接创建,也可以间接创建 5.可以在优化隐藏中,使用索引 6.使用查询处理器执行SQL语句,在一个表

数据库 --- 索引、触发器、事务(存储引擎)

一.数据库  -----   按照数据结构来组织.存储和管理数据的仓库 主要特点: 实现数据共享: 减少数据的冗余度: 数据的独立性: 数据实现集中控制: 数据一致性和可维护性,以确保数据的安全性和可靠性: 故障恢复. 二.其他相关 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     指要生成的第一个序列号,

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

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