索引

数据库常见面试题(非DBA方向)

南楼画角 提交于 2020-03-17 11:47:07
数据库面试题总结之一 1.什么是事务?以及四个特性 事务(Transaction)是并发控制的基本单位。 所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。 事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 ACID 原子性:要么执行,要么不执行,也就是不可再分,已经最小了。 隔离性:所有操作全部执行完以前其它会话不能看到过程。 一致性:事务前后,数据总额一致。 持久性:一旦事务提交,对数据的改变就是永久的 事物的语句: 1.开始事务:BEGIN TRANSACTION 2.提交事务:COMMIT TRANSACTION 3.回滚事务:ROLLBACK TRANSACTION 2.索引是什么?有哪些作用和优缺点 索引就一种特殊的查询表,数据库的搜索可以利用它加速对数据的检索。 它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。 索引可以是唯一的,创建索引允许指定单个列或者是多个列。 缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小 MySQL数据库几个基本的索引类型:普通索引、唯一索引、主键索引、全文索引 索引加快数据库的检索速度 索引降低了插入、删除、修改等维护任务的速度 唯一索引可以确保每一行数据的唯一性 通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能

Java中的List集合

亡梦爱人 提交于 2020-03-17 11:42:07
List 代表一个元素有序、且可重复的集合,集合中的每个元素都有其对应的顺序索引,并且List允许使用重复元素,可以通过索引来访问指定位置的集合元素,默认按元素的添加顺序设置元素的索引。 List 集合中也存在一些根据索引来操作集合元素的方法。 ArrayList 和 Vector 均是List接口的典型实现,区别在于: ①Vector是一个古老的集合,通常建议使用 ArrayList ②ArrayList 是线程不安全的,而 Vector 是线程安全的。 ③即使为保证 List 集合线程安全,也不推荐使用 Vector 首先需要导入Java中的java.util.ArrayList包` import java . util . ArrayList ; List集合的创建 List < String > list = new ArrayList < String > ( ) ; // //使用泛型 基本操作 list . add ( "b" ) ; //第一个索引下标为0 list . add ( "c" ) ; //索引下标为1 list . add ( "d" ) ; list . add ( "e" ) ; list . add ( "b" ) ; //允许使用重复元素 System . out . println ( list ) ; System . out .

int,bool,str方法,for循环

点点圈 提交于 2020-03-17 09:24:30
day03笔记 1.整型和布尔值 2.字符串详解(常用的方法 3.for循环 1.整型和布尔值 python3: in python2: int,long(长整型) num = 15 print(num.bit_length()) 结果为4 十进制 -- 二进制 # 15 1 # 7 1 # 3 1 # 1 1 # 0 # 34(十进制) # 32 16 8 4 2 1 # 1 0 0 0 1 0 二进制 -- 十进制 # 1*2**0 + 0*2**1 + 1*2**2 + 0*2**3 + 1*2**4 + 1*2**5 # 1 + 0 + 4 + 0 + 16 + 32 # 45 十进制转二进制 # 32 16 8 4 2 1 # 1 0 1 1 0 1 bin -- 将十进制转换成二进制 print(bin(45)) int -- 将二进制转换成十进制 print(int("101101",2)) print(int(0b101101)) 布尔值: 类型转换 数字中只有0是False,其余的都为True 字符串中只要有内容就是True,没有内容就是False print(bool("")) print(type(str(False))) print(int(True)) print(int(False)) 2.字符串详解 s = "meet" 字符串中的元素(字母) 字符串

高级变量类型

那年仲夏 提交于 2020-03-17 06:03:27
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 ( int ) 浮点型( float ) 布尔型( bool ) 真 True 非 0 数 —— 非零即真 假 False 0 复数型 ( complex ) 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题 非数字型 字符串 列表 元组 字典 在 Python 中,所有 非数字型变量 都支持以下特点: 都是一个 序列 sequence ,也可以理解为 容器 取值 [] 遍历 for in 计算长度 、 最大/最小值 、 比较 、 删除 链接 + 和 重复 * 切片 01. 列表 1.1 列表的定义 List (列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义, 数据 之间使用 , 分隔 列表的 索引 从 0 开始 索引 就是数据在 列表 中的位置编号, 索引 又可以被称为 下标 注意:从列表中取值时,如果 超出索引范围 ,程序会报错 name_list = [ "zhangsan" , "lisi" , "wangwu" ] 1.2 列表常用操作 在 ipython3 中定义一个 列表 ,例如: name_list = [] 输入 name

AspNetPager分页控件--使用方法 2

*爱你&永不变心* 提交于 2020-03-17 01:28:06
二、三等代替。 /// </remarks> [Browsable(true), Category("导航按钮"), DefaultValue(false), Description("是否将页索引数值按钮用中文数字一、二、三等代替")] public bool ChinesePageIndex { get { object obj=ViewState["ChinesePageIndex"]; return (obj==null)?false:(bool)obj; } set { ViewState["ChinesePageIndex"]=value; } } /// <summary> /// 获取或设置页索引数值导航按钮上文字的显示格式。 /// </summary> /// <value> /// 字符串,指定页索引数值按钮上文字的显示格式,默认值为<see cref="String.Empty"/>,即未设置该属性。</value> /// <remarks> /// 使用NumericButtonTextFormatString属性指定页索引数值按钮的显示格式,如未设置该值时索引按钮文本将会是:1 2 3 ...,设置该值将改变索引按钮文本的显示格式, /// 如将该值设为“[{0}]”则索引文本会显示为:[1] [2] [3] ...,将该值设为“-{0}-

Mysql索引笔记

别等时光非礼了梦想. 提交于 2020-03-16 18:10:07
CREATE TABLE t_mobilesms_11 ( id bigint(20) NOT NULL AUTO_INCREMENT, userId varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT ‘’ COMMENT ‘用户id,创建任务时的userid’, mobile varchar(24) NOT NULL DEFAULT ‘’ COMMENT ‘手机号码’, billMonth varchar(32) DEFAULT NULL COMMENT ‘账单月’, time varchar(32) DEFAULT NULL COMMENT ‘收/发短信时间’, peerNumber varchar(64) NOT NULL COMMENT ‘对方号码’, location varchar(64) DEFAULT NULL COMMENT ‘通信地(自己的)’, sendType varchar(16) DEFAULT NULL COMMENT ‘SEND-发送; RECEIVE-收取’, msgType varchar(8) DEFAULT NULL COMMENT ‘SMS-短信; MSS-彩信’, serviceName varchar(256) DEFAULT NULL COMMENT

MySQL索引学习笔记

安稳与你 提交于 2020-03-16 17:29:00
某厂面试归来,发现自己落伍了!>>> 索引是帮助MySQL高效获取数据的排好序的数据结构 一.存储引擎 这里只讨论 使用最多的两种引擎【MyISAM】和【InnoDB】 1. MyISAM 引擎(非聚集) 上图是是使用myisam引擎的文件,可以看出:MyISAM索引文件和数据是分离的(非聚集)。 当一个查询带有索引,得先通过MYI文件(B+TREE)读取到该条数据的磁盘文件指针,因此再在MYD文件中获取到该条数据。如果查询条件不是索引,则直接去MYD文件去找,做全表扫描,效率低下。 2. InnoDB引擎(聚集) 表数据文件本身就是按B+Tree组织的一个索引结构文件如上图 此为 聚集索引 -叶节点包含了完整的数据记录 1、为什么InnoDB表必须有主键,并且推荐使用整型的自增主键?( 整型比字符串大小判断效率更高,自增会不容易造成B+Tree分裂 ) 2、为什么非主键索引结构叶子节点存储的是主键值? ( 一致性和节省存储空间 ) 简单总结一下这两个引擎: InnoDB :支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。 MyISAM :插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率

Shapefiles文件格式

若如初见. 提交于 2020-03-16 12:51:47
Shapefiles文件是ArcGIS内部使用的一种空间数据格式,采用非拓扑结构的数据格式存贮地理几何位置和属性数据的空间数据文件。 Shape文件最多由五个文件组成,其扩展名和含义如下: 1.空间数据文件(.shp):存贮地理数据的几何特征:坐标、长度、面积等。 2.空间数据索引文件(.shx)存贮地理数据几何特征的索引。(注意:强调主题内,与4有区别) 3.属性数据文件(.dbf)dBASE文件存贮地理数据的属性信息;主题的特征属性表也是以DBF文件形式存在的。 4.地理数据索引文件(.sbn,.sbx)这两个文件只有在进行主题间空间关系查询、主题的空间联接和对Shape字段进行索引时才存在的。它们用于存贮地物特征的索引。 5.关联文件(.ain,.aih)这两个文件只有在进行了表格间的关联(Links)操作时才存在。它们用于存贮进行关联的数据表或特征属性表的关联字段的索引。 来源: https://www.cnblogs.com/GISCafe/archive/2008/05/26/1207978.html

MySQL-视图和索引

纵然是瞬间 提交于 2020-03-16 09:52:44
一、视图 视图是从一个或多个表中导出的表,是一种虚拟的表,其内容由查询语句定义。 视图是逻辑上来自一个或多个表的数据集合 视图一旦定义,就可以像表一样进行查询、修改和删除。 对视图引用的基础表来说,视图的作用类似于筛选。 视图的数据来自定义视图查询时引用的表,且在引用视图时动态生成。 为什么使用视图? 限制其他用户对数据库表的访问,因为视图可以有选择性的显示数据库表的一部分 容易实现复杂的查询 对于相同的数据可以产生不同的视图 1 、创建视图 Create view 视图名 [(列名1,列名2)] as select语句 创建视图时,所引用的表尽量<=3,为保证执行效率 范例1:CREATE VIEW emp11 AS SELECT * FROM emp; 范例2:CREATE VIEW emp10 as SELECT * FROM emp WHERE deptno=10; 范例3:CREATE VIEW emp20(no,name) as SELECT empno, ename FROM emp; 范例4:CREATE VIEW emp02(no,name,deptno,dname) as SELECT empno, ename, d.deptno,dname FROM emp e, dept d WHERE e.deptno = d.deptno AND loc =