1. 概述 1.1 HBase概述 HBase由master节点和region server节点组成.在100-105集群上,100和101是master节点,102-105是region server节点. 每个region server管理很多region,每个region只会属于一个region server.一个region的大小可以自己配置(100-105集群上一个region大小为100GB). 在HBase中创建一张表时,刚开始默认是一个region,若表越来越大,超过一个regi…
Phoenix表和索引分区,基本优化方法 优化方法 1. SALT_BUCKETS RowKey SALT_BUCKETS 分区 2. Pre-split RowKey分区 3. 分列族 4. 使用压缩 5. 二级索引 6.参数优化 优化方法 原文地址:Phoenix基本优化方法 1. SALT_BUCKETS HBASE建表之初默认一个region,当写入数据超过region分裂阈值时才会触发region分裂.我们可以通过SALT_BUCKETS方法加盐,在表构建之初就对表进行预分区.SALT…
主键乱序插入对Innodb性能的影响 在平时的mysql文档学习中我们经常会看到这么一句话: MySQL tries to leave space so that future inserts do not incur un-necessary page splits (and thus higher IO cost). In an "ideal" world, MySQL tries to keep the index pages at 15/16-th full, but depe…
对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长.特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久.因此,优化数据库插入性能是很有意义的. 修改mysql数据库配置: 0. 最快的当然是直接 copy 数据库表的数据文件(版本和平台最好要相同或相似):1. 设置 innodb_flush_log_at_trx_commit = 0 ,相对于 innodb_flush_log_at_trx_commit = 1 可以十分明显的提升导入速…
day60 批量插入(bulk_create) # bulk_create obj_list = [] for i in range(20): obj = models.Book( title=f'金pm{i}', price=20+i, publish_date=f'2019-09-{i+1}', publish='24期出版社' ) obj_list.append(obj) models.Book.objects.bulk_create(obj_list) #批量创建 request.POS…
“覆盖索引使您能够避免返回到表中以满足请求的所有列,因为所有请求的列都已经存在于非聚集索引中.这意味着您还可以避免返回到表中进行任何逻辑或物理的信息读取.” 然而,以上这不是我想要传达的全部意思,因为他不仅仅是避免逻辑或物理的读取的问题.在“非聚集索引”中的列和需要在表中查找的列之间,还需要考虑“将数据放在一起”的必要工作.为了说明这个问题,让我们创建两个完全一模一样的表,即:相同的结构,相同的数据且都是10000条: CREATE TABLE Beach.dbo.cruiser_1 ( pki…
day44 索引介绍 为何要有索引? ​ 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还有一些复杂的查询操作,因此对查询语句的优化显然是重中之重,说起加速查询,就不得不提到索引了 什么是索引? ​ 索引在MySQL中也叫做键或者key(primary key,unique key),是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发…
在SQL Server 查询性能优化——覆盖索引(一)中讲了覆盖索引的一些理论. 本文将具体讲一下使用不同索引对查询性能的影响. 下面通过实例,来查看不同的索引结构,如聚集索引.非聚集索引.组合索引等来查看相同的SQL语句查询的不同性能   例一:没有任何索引的查询访问 1.表的碎片情况:   2.SQL查询语句与查询执行计划成本   --要求返回IO统计,也就是数据页访问的数量 SET STATISTICS IO ON --没有任何索引情况下的数据页访问数量 SELECT  [WBOOK_NO…
覆盖索引又可以称为索引覆盖. 解释一: 就是select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖. 解释二: 索引是高效找到行的一个方法,当能通过检索索引就可以读取想要的数据,那就不需要再到数据表中读取行了.如果一个索引包含了(或覆盖了)满足查询语句中字段与条件的数据就叫做覆盖索引. 解释三: 是非聚集组合索引的一种形式,它包括在查询里的Select.Join和Where子句用到的所有列(即建立索引的字段正好是覆盖查询语句[select子句]与查询条…
原文:第十三章--表和索引分区(1)--使用Range Left进行表分区 前言: 如果数据表的数据持续增长,并且表中的数据量已经达到数十亿甚至更多,数据的查询和操作将非常困难,面对非常庞大的表,几时简单的增删改操作都会花费非常多的时间,如删除某个数据然后重建索引这些操作,会很难实现.在这种情况下,管理和维护查询性能就成为了一种挑战. 在过去的日子,也就是2005之前,你可能需要使用分区视图来处理大数据量的数据,从2005开始,微软引入了叫做表分区的新特性.允许水平分割数据成为多个分区.并且也允…