索引

sqlServer2005新特性2

此生再无相见时 提交于 2020-03-11 13:11:59
1.数据库镜像 通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。 2.在线恢复 使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。 3.在线检索操作 在线检索选项可以在指数数据定义语言(DDL)执行期间,允许对基底表格、或集簇索引数据和任何有关的检索,进行同步修正。例如,当一个集簇索引正在重建的时候,您可以对基底数据继续进行更新、并且对数据进行查询。 4.快速恢复 新的、速度更快的恢复选项可以改进SQL服务器数据库的可用性。管理人员将能够在事务日志向前滚动之后,重新连接到正在恢复的数据库。 5.安全性能的提高 SQL Server 2005包括了一些在安全性能上的改进,例如数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式。 6.新的SQL Server Management Studio SQL Server 2005引入了SQL Server Management Studio,这是一个新型的统一的管理工具组。这个工具组将包括一些新的功能,以开发、配置SQL Server数据库,发现并修理其中的故障

ELK下es索引管理工具-curator

冷暖自知 提交于 2020-03-11 12:49:04
转载来源 : es索引管理工具-curator https://www.cnblogs.com/xiaobaozi-95/p/10450380.html 介绍 elasticsearch-curator 是官方收购的开源社区周边产品,用来管理es的索引和快照。 在6.6以后官方推出了ILM(索引生命周期管理策略),更加易于操作和方便使用,可以通过restful api,也可以在kibana界面直接操作。 官方文档: https://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html 功能包括:从别名添加、删除索引,更改分片路由分配,打开/关闭索引,创建/删除索引,快照管理、合并segment,更改索引分片副本数等。 目前使用的elasticsearch-curator版本是5.4, Python2.6安装会出现问题.建议在安装在python2.7+的环境中. 安装: # pip install elasticsearch-curator 使用: 命令语法: 命令行参数: curator [–config CONFIG.YML] [–dry-run] ACTION_FILE.YML $ curator -- help Usage : curator [ OPTIONS ] ACTION

Python-常见面试题

杀马特。学长 韩版系。学妹 提交于 2020-03-11 08:59:59
什么是Python Python是一种解释型语言,也就是说,它和C语言以及C的衍生语言不通,Python代码在运行之前不需要编译 Python是一种动态类型语言,指的是,你在声明变量时不需要指定变量的类型 Python让困难的事变的容易,因此程序员可以专注于算法和数据结构的设计,而不用处理底层的细节 Python用途非常广泛–网络应用,自动化,科学建模,大数据应用等等,它也常被用作“胶水语言”,用于帮助其他语言和组件改善运行状况 Python支持的数据类型 数字、字符串、元组、字典、列表 下划线的作用 _xxx:表示的是protected类型,即只允许其本身和子类进行访问 __xxx:表示的是private类型 __xxx__:表示的特列方式,如__init__ 如何生成一个不可变集合 使用 frozenset 函数,将一个列表变成一个不可变的集合,如下: s = frozenset([1, 2, 3]) is与== is对比地址,==是对比值 多线程与多进程 对比维度 多进程 多线程 数据共享、同步 数据共享复杂,需要用到IPC;数据是分开的、同步简单 因为共享进程数据,所以共享简单,但也因为这个导致同步复杂 内存、CPU 占用内存多,切换复杂,CPU利用率低 占用内存小,切换简单,CPU利用率高 创建、销毁、切换 创建销毁、切换复杂,速度很慢 创建销毁、切换简单,速度很快 编程

MySQL优化(2):存储引擎和锁

好久不见. 提交于 2020-03-11 00:45:01
存储引擎: 早期的时候,存在如何选择MyISAM和Innodb? 现在,Innodb不断地发展完善,成为了主流的存储引擎。 因此5.5之后的mysql,无脑选择Innodb即可。 MYSQL中的数据,索引以及其他的对象,是如何存储的,是一套文件系统的实现。 MYSQL支持很多的存储引擎,使用 SHOW ENGINES 即可查到全部的引擎 MyISAM和Innodb的比较: 1.存储文件的角度:MyISAM数据和索引分别存储,数据是.myd,索引是.myi;Innodb数据和索引集中存储为.ibd,不支持文件级别的移动 2.记录存储顺序的角度:MyISAM顺序存储,直接在表末尾插入记录;Innodb主键顺序存储,插入时需要排序操作,稍影响了效率 3.空间碎片的角度:MyISAM会产生;Innodb不会产生;空间碎片就删除了以前的记录,MyISAM将会空余下来一些空间 通俗来讲,就说原来存储文件100K,我删除了一部分记录后还是100K 优化MyISAM的空间碎片: OPTIMIZE TABLE XXX; 4.外键和事务的角度:MyISAM不支持;Innodb支持,保证数据的完整性 5.全文索引的角度:MyISAM不支持;Innodb新版本支持,但是不支持中文,所以很鸡肋 6.锁的角度:MyISAM表级锁定;Innodb行级锁定,表级锁定,处理并发能力更强 总结:没有特殊需求

备战金三银四,面试必问的性能优化你准备好了吗?(Java性能优化大全)

你离开我真会死。 提交于 2020-03-11 00:19:29
经历了这么长时间的等待,年后求职者的竞争应该还是不小的,而且不乏很多应届生或者工作经验两三年的职场新人。 我身边其实很多93后到95后的年轻小伙伴,就像大家调侃的那样,在Java后端开发的圈子里面,初入新人基本上都是CRUD、业务密集型为导向。 很多工作两三年的同行跟我说,认为性能调优没什么用。刚工作的时候我其实没有认识到这个东西的重要性,但后来我才知道我当时想法多么的天真。 曾经,我们的系统研发部门来了一位大神,为什么叫他大神?因为在他来公司的一年时间里只做了一件事, 就是把服务器的数量缩减了一半,系统的性能指标,反而还提升了。 我有一个在小厂的朋友跟我说,他们公司的系统从来没有经过性能调优,功能测试完成后就上线了,线上也没有出现过什么性能问题,为什么还要去做性能调优呢? 当时我就回答了他一句,如果你们公司做的是 12306 网站,不做系统性能优化就上线,试试看会是什么情况。 现在假设你的系统要做一次活动,产品经理告诉你预计有几十万的用户访问量,询问系统能否承受得住。如果你不清楚自己系统的性能情况,也只能战战兢兢地回答老板,应该没问题吧。 所有的系统在开发完之后,多多少少都会有性能问题,我们要做的就是想办法把问题暴露出来,例如进行 压力测试、模拟可能的操作场景等等,再通过性能调优去解决这些问题。 我们也可以再来看看2019百度、京东、腾讯、阿里巴巴等各大厂关于性能调优的面试题

java常用类04_StringBuffer类

倖福魔咒の 提交于 2020-03-10 23:41:38
1.StringBuffer类概述 String和StringBuffer都可以用来存储和操作字符串,即包含多个字符的字符串数据。 String类代表不可变的Unicode字符序列 ,是字符串常量。String字符串一旦被初始化后,就不能再被改变其内容了(其原理在String类概述中已经讲述)。对String字符串的操作实际上对其副本(原始拷贝)的操作,原来的字符串一点都没有改变。比如: String str = "hello" ; // 创建了一个字符串 // 实际上原来的"hello"字符串对象已经丢弃了,现在又产生了一个字符串"hello世界" str = str + "世界" ; 如果多次执行这些改变串内容的操作,会导致大量副本字符串对象存留在内存中,从而降低了程序的效率。 StringBuffer类是抽象类AbstractStringBuilder的子类, StringBuffer类代表可变的Unicode字符序列 ,是字符串变量。我们打开AbstractStringBuilder类的源码: 从源码中可以看出,AbstractStringBuilder内部也是一个字符数组,但是这个字符数组没有用final修饰,那么意味着我们可以随时修改,所以我们又称StringBuffer为“可变字符序列”。 因为StringBuffer类是对原字符串本身进行操作的

MySQL之 索引

醉酒当歌 提交于 2020-03-10 20:22:57
1、聚簇索引和非聚簇索引的区别? 聚簇索引: 将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据 非聚簇索引: 将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置 在innodb中 ,在聚簇索引之上创建的索引称之为辅助索引,非聚簇索引都是辅助索引,像复合索引、前缀索引、唯一索引。 辅助索引叶子节点存储的不再是行的物理位置,而是主键值,辅助索引访问数据总是需要二次查找 。 图1 innoDB表分布 (1) 聚簇索引将 主键组织到一棵B+树 中,而 行数据就储存在叶子节点 上,若使用"where id = 14"这样的条件查找主键,则 按照B+树的检索算法即可查找到对应的叶节点,之后获得行数据 。 (2) 对Name列进行条件搜索,则需要两个步骤 : 第一步在辅助索引B+树中检索Name,到达其叶子节点获取对应的主键 。第二步 使用主键在主索引B+树种再执行一次B+树检索操作,最终到达叶子节点即可获取整行数据 。 聚簇索引的优势: 由于 行数据和叶子节点存储在一起,同一页中会有多条行数据,访问同一数据页不同行记录时,已经把页加载到了Buffer中,再次访问的时候,会在内存中完成访问 ,不必访问磁盘。这样 主键和行数据是一起被载入内存的,找到叶子节点就可以立刻将行数据返回 了, 如果按照主键Id来组织数据,获得数据更快 。 辅助索引使用主键作为"指针

pandas loc和iloc

大兔子大兔子 提交于 2020-03-10 19:38:04
隐式定位:df.loc 获取前三行,第id,x0,x1列 获取索引0,3行,以及"x0"到 "x10" 之间所有列 显示定位:df.iloc 获取第一行第三行,索引1和索引3列(索引row,col都是0开始): 通过索引获取索引0到索引2的行,索引1到索引3的列:, 左开右闭原则: 来源: https://www.cnblogs.com/SunshineKimi/p/12457892.html

mysql关系型数据库

。_饼干妹妹 提交于 2020-03-10 18:03:59
参考:https://www.cnblogs.com/alex3714/articles/5950372.html 关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。 RDBMS 术语 数据库: 数据库是一些关联表的集合。. 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。 行: 一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余 :存储两倍数据,冗余可以使系统速度更快。(表的规范化程度越高,表与表之间的关系就越多;查询时可能经常需要在多个表之间进行连接查询;而进行连接操作会降低查询速度。例如,学生的信息存储在student表中,院系信息存储在department表中。通过student表中的dept_id字段与department表建立关联关系。如果要查询一个学生所在系的名称,必须从student表中查找学生所在院系的编号(dept_id),然后根据这个编号去department查找系的名称。如果经常需要进行这个操作时,连接查询会浪费很多的时间。因此可以在student表中增加一个冗余字段dept_name,该字段用来存储学生所在院系的名称。这样就不用每次都进行连接操作了。) 主键 :主键是唯一的

DBEX-1-5-2014数据库开发技术

蹲街弑〆低调 提交于 2020-03-10 14:02:45
一、论述题(10分) 1)简述DBMS对SQL解析执行的步骤(2) 1语法分析:分析语句的语法是否符合规范,衡量语句中各表达式的意义 2语义分析:检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限 3视图转换:将涉及视图的查询语句转换为相应的对基表查询语句。 4表达式转换:将复杂的SQL表达式转换为较简单的等效连接表达式 5选择优化器:不同的优化器一般产生不同的“执行计划” 6选择连接方式 Oracle有三种连接方式、对多表连接Oracle可选择适当的连接方式 7选择连接顺序:对多表连接Oracle选择哪对表先连接,选择这两表中哪个表做为源数据表 8选择数据的搜索路径:根据以上条件选择合适的数据搜索路径,如是选用全表搜索还是利用索引或是其他的方式。 9运行“执行计划” 运行执行计划,返回执行结果。运行执行计划的代价根据sql语句的不同可大可小。 1:语法分析 2:权限与对象检查 3: 在共享池中检查是否有完全相同的之前完全解析好的. 如果存在,直接跳过4和5,运行Sql, 此时算soft parse. 4:选择执行计划 5:产生执行计划 2)解释硬解析和软解析的含义和区别(3) 解析:分为硬解析和软解析。 若在共享池中没有找到已有的执行计划,则进行硬解析,否则为软解析。 硬解析指使用优化器对sql语句进行优化,将sql转化为一些等价语句,并选择代价最小的语句生成执行计划;