索引

数据仓库常见面试问题

牧云@^-^@ 提交于 2020-03-10 10:47:25
一、 数据库 1、 Oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的作用?materialized view 答:a:视图是虚拟表,提高了表的安全性,视图没有实际物理空间,而表有实际存储的物理空间 b:物化视图存储了实实在在的数据,而普通视图之存储了定义 c:物化视图的优点像索引一样,提高查询性能。当基表发生变化时,物化视图也应当刷新。 物化视图是数据库中的一种存储数据的对象,和表一样,存储了数据。用于预先计算并保存表连接或者聚集等耗时较多的操作。这样,在执行查询的时候,就可以避开连接、聚集等耗时的操作,从而快速的得到结果。它可以查询表,视图甚至是其他物化视图中的数据。和视图不同的是,它存储了实实在在的数据,而视图只是存储了定义而已,所以,也是可以在物化视图上创建索引的。物化视图在很多方面,和索引很相似:使用它的主要目的是为了提高查询性能;物化视图对应用是透明的,增加或者删除物化视图不会影响应用程序中查询语句的正确性和有效性;物化视图会占用存储空间;当基表发生变化时,物化视图也应当刷新。通常情况下,物化视图被称为主表(在复制期间)或者明细表(在数据仓库中)。 2、 Oracle数据库,有哪几类索引,分别有什么特点? 答:三类索引 a:B树索引 b:文本索引 c:位图索引 3、 Union与Union All的区别? Union 会去掉重复,效率比 union

Oracle移植postgreSQL系統-三、Oracle移植postgreSQL注意事項

人盡茶涼 提交于 2020-03-10 10:09:23
1 、Oracle函數偽列 Ora2pg將會把偽列創建為普通物理列,并創建相應函數、觸發器實現函數計算并將數據維護在普通物理列中。 2 、 Oracle 序列 postgreSQL 中支持smallserial 、serial、bigserial三種數據類型,系統會自動創建相關序列,并且支持直接設置默認值為nextval('seq_report_dept_info_id') 格式,此種方式較為簡便,但生成腳本中不會自動轉換。 也可參照 Orace 數據庫方式,自己手工創建序列,并在 insert 、 update 或觸發器中通過 nextval('seq_report_dept_info_id') 的方式維護數據。 3 、 Oracle Type 在 Oracle 包里定義的 cursor 、數組、 index_by 表、嵌套表等類型, ora2pg 不會自動轉換,需要手工處理。 4 、 LOB 對象 Oracle 中 clob 對象 在 postgreSQL 會自動按 text 類型創建。 並且 Oracle 中 clog 字段會自動創建索引,但 postgreSQL 中不會,因而移植后索引會少 LOB 索引。 5 、分區 Oracle 有間隔分區,數據庫會自動根據設置的間隔創建分區,但 postgreSQL 中不會自動創建分區,需要手工定期維護,或者寫定時腳本維護。 6 、索引

Pandas

耗尽温柔 提交于 2020-03-10 06:10:32
四、Pandas 简介 Series DataFrame 时间对象处理 数据分组和聚合 其他常用方法 1、简介 pandas是一个强大的Python数据分析的工具包,它是基于Numpy构建的,正因pandas的出现,让Python语言也成为使用最广泛而且强大的数据分析环境之一。 Pandas的主要功能: 具备对其功能的数据结构DataFrame,Series 集成时间序列功能 提供丰富的数学运算和操作 灵活处理缺失数据 安装方法: pip install pandas 引用方法: import pandas as pd 2、Series Series是一种类似于一维数组的对象,由一组数据和一组与之相关的数据标签(索引)组成 1、创建方法 第一种: pd . Series ( [ 4 , 5 , 6 , 7 , 8 ] ) 执行结果: 0 4 1 5 2 6 3 7 4 8 dtype : int64 # 将数组索引以及数组的值打印出来,索引在左,值在右,由于没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引,取值的时候可以通过索引取值,跟之前学过的数组和列表一样 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 第二种

MySQL索引事务

耗尽温柔 提交于 2020-03-10 00:10:51
索引 什么是索引 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。 索引的作用 数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。 索引所起的作用类似书籍目录,可用于快速定位、检索数据。 索引对于提高数据库的性能有很大的帮助 使用场景 要考虑对数据库表的某列或某几列创建索引,需要考虑以下几点: 数据量较大,且经常对这些列进行条件查询。 该数据库表的插入操作,及对这些列的修改操作频率较低。 索引会占用额外的磁盘空间。 满足以上条件时,考虑对表中的这些字段创建索引,以提高查询效率。 反之,如果非条件查询列,或经常做插入、修改操作,或磁盘空间不足时,不考虑创建索引。 使用 创建主键约束(PRIMARY KEY)、唯一约束(UNIQUE)、外键约束(FOREIGN KEY)时,会自动创建对应列的索引。 查看索引 show index from 表名 ; 创建索引 对于非主键、非唯一约束、非外键的字段,可以创建普通索引 create index 索引名 on 表名 ( 字段名 ) ; 删除索引 drop index 索引名 on 表名 ; 事务 事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。 在不同的环境中,都可以有事务

c#的SortedList使用方法

喜你入骨 提交于 2020-03-09 23:36:16
表示键/值对的集合,这些键和值按键排序并可按照键和索引访问。 SortedList最合适对一列健/值对 进行排序,在排序时,是对键进行排序,SortedList 是 Hashtable 和 Array 的混合。当使用 Item 索引器属性按照元素的键访问元素时,其行为类似于 Hashtable。当使用 GetByIndex 或 SetByIndex 按照元素的索引访问元素时,其行为类似于 Array。 SortedList 在内部维护两个数组以将数组存储到列表中;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键/值对。键不能为空引用(Visual Basic 中为 Nothing),但值可以。SortedList 的容量是列表可拥有的元素数。随着向 SortedList 中添加元素,容量通过重新分配按需自动增加。可通过调用 TrimToSize 或通过显式设置 Capacity 属性减少容量。SortedList 的元素将按照特定的 IComparer 实现(在创建SortedList 时指定)或按照键本身提供的 IComparable 实现并依据键来进行排序。不论在哪种情况下,SortedList 都不允许重复键。 索引顺序基于排序顺序。当添加元素时,元素将按正确的排序顺序插入 SortedList

pandas基础学习(2)

可紊 提交于 2020-03-09 21:51:12
基本功能 1. 算术和数据对齐 不同索引对象之间的算术行为是pandas提供给一些应用的一项重要特性。 当你将对象相加时,如果存在某个索引对不相同时,则结果的索引将是索引对的并集, 没有交集的标签位置上,内部数据对齐会产生缺失值NA。 若将两个行列完全不同的DataFrame相加,即结果为空。 1.1 使用填充值 为避免出现缺失值NA,可以设置fill-value作为参数传入。 算术方法列表: df.add / df.radd 加法 df.sub / df.rsub 减法 df.div / df.rdiv 除法 同理 mul 乘法、pow 幂次方 1.2 Series 和 DataFrame间操作 广播机制,若df为方阵,默认情况下,Series的索引和DataFrame的列进行匹配,并广播到各行。 若想改为在列上进行广播,则必须使用算术方法的一种 ,需要传递参数 axis=‘index’ 2.函数应用 Numpy的通用函数对pandas对象有效。 df的apply方法:将函数运用到一行或一列的一维数组上,默认是每一列。若index='columns' 是行操作(配合 lamda匿名函数效果更佳) Series的map、DataFrame的applymap方法:将函数运用到逐一元素上。 来源: https://www.cnblogs.com/sept/p/12444336.html

SortedList的用法

我只是一个虾纸丫 提交于 2020-03-09 20:40:35
1、SortedList定义 System.Collections.SortedList类表示键/值对的集合,这些键值对按键排序并可按照键和索引访问。SortedList 在内部维护两个数组以存储列表中的元素;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键/值对。键不能为null,但值可以。 2.优点 1、SortedList 允许通过相关联键或通过索引对值进行访问,可提供更大的灵活性。 2、可根据需要自动增大容量。 3. SortedList的构造器 构造器函数 注释 SortedList () 初始化 SortedList 类的新实例,该实例为空、具有默认初始容量并根据 IComparable 接口(此接口由添加到 SortedList 中的每个键实现)进行排序。 SortedList (IDictionary) 初始化 SortedList 类的新实例,该实例包含从指定字典复制的元素、具有与所复制的元素数相同的初始容量并根据由每个键实现的 IComparable 接口排序。 SortedList (Int32) 初始化 SortedList 类的新实例,该实例为空、具有指定的初始容量并根据 IComparable 接口(此接口由添加到 SortedList 中的每个键实现)进行排序。 4

Oracle索引和事务

。_饼干妹妹 提交于 2020-03-09 20:34:39
Oracle索引和事务 1. 什么是索引?有什么用? 1.索引是数据库对象之一,用于加快数据的检索,类似于书籍的目录。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用索引可以不用翻阅整本书即可找到想要的信息。 2.索引是建立在表上的可选对象;索引的关键在于通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率 3.索引在逻辑上和物理上都与相关的表和数据无关,当创建或者删除一个索引时,不会影响基本的表; 4.索引一旦建立,在表上进行DML操作时(例如在执行插入、修改或者删除相关操作时),oracle会自动管理索引,索引删除,不会对表产生影响 5.索引对用户是透明的,无论表上是否有索引,sql语句的用法不变 6.oracle创建主键时会自动在该列上创建索引 2. 索引的底层实现原理 当一列索引创建成功后,oracle系统会这个列复制一个份放入缓存,并按照一定规则做排序和去重,从而减少检索数据的范围。 但是索引不是创建的越多越好,因为一个索引的创建,就需要在缓存中开辟一个空间,过多的索引反而会加重数据库的检索速度。 3. 索引的设计理念 1.某个字段在条件查询中会被高频率的调用 where 条件 2.表关联的连接字段 on 条件 3.实际业务需求 4.索引的创建是不是越多越好?为什么? 1.首先数据量小的表不需要建立索引

Mysql索引基本原理

点点圈 提交于 2020-03-09 17:19:53
数据库使用过程当中索引的时候必不可少,合理创建索引可以极大地提升数据查询效率,但是如何索引创建不当也会影响我们的查询效率,如果想使用好索引我们就要来关注一下索引的原理。本文主要讲的mysql索引,且以InnoDB引擎为主,顺带与MyISAM引擎做对比。 1.Mysql表空间、段、区、页 在讲索引的概念之前我们先说一下mysql中段区页的概念。 表空间是Mysql数据库存储的最高层,默认情况下InnoDB引擎只有一个表空间,所有的数据都是存放在这个表空间内。 在表空间下数据是以段区页的形式进行存储的。一张Mysql表存储在数据库当中不是以行为单位存储数据读取的,mysql数据库读取的最小单位是页。 段:一个段是由多个区构成的, 常见的段有数据段、索引段、回滚段等,在InnoDB存储引擎中,对段的管理都是由引擎自身所完成的。 区:一个区是由多个 连续的页组成的空间 ,无论页的大小怎么变动,一个区的默认大小是1M,默认情况下一个区包含64个连续的页,为保证区中的页是连续的 InnoDB会一次从磁盘中申请4~5个区。 页:页也叫做块,默认情况下一个页大小为16K(可以通过 innodb_page_size 参数来设置一个页的大小), 常见的页类型有:数据页,索引页, undo页 ,系统页,事务数据页等。 每页存储最多的行记录也是有硬性规定的最多16KB/2-200,即7992行 。

SortedList 用法

浪子不回头ぞ 提交于 2020-03-09 17:03:20
表示键/值对的集合,这些键和值按键排序并可按照键和索引访问。 SortedList最合适对一列健/值对 进行排序,在排序时,是对键进行排序,SortedList 是 Hashtable 和 Array 的混合。当使用 Item 索引器属性按照元素的键访问元素时,其行为类似于 Hashtable。当使用 GetByIndex 或 SetByIndex 按照元素的索引访问元素时,其行为类似于 Array。 SortedList 在内部维护两个数组以将数组存储到列表中;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键/值对。键不能为空引用(Visual Basic 中为 Nothing),但值可以。SortedList 的容量是列表可拥有的元素数。随着向 SortedList 中添加元素,容量通过重新分配按需自动增加。可通过调用 TrimToSize 或通过显式设置 Capacity 属性减少容量。SortedList 的元素将按照特定的 IComparer 实现(在创建SortedList 时指定)或按照键本身提供的 IComparable 实现并依据键来进行排序。不论在哪种情况下,SortedList 都不允许重复键。 索引顺序基于排序顺序。当添加元素时,元素将按正确的排序顺序插入 SortedList