click house索引

这篇具有很好参考价值的文章主要介绍了click house索引。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

稀疏索引

click house索引

好处: 范围查询过滤比较快
弊端: 不适合点对点查询 索引必须依赖物理存储顺序
排序字段a,b,c 索引字段 a, ab ,abc
索引字段必须是排序字段的前缀

语句级多线程

由于一条数据 不适合高qps的高频短查询,更适合低频的大数据复杂查询 优点:
ClickHouse将数据划分为多个partition,每个partition再进一步划分为多个index
granularity(颗粒),然后通过多个CPU核心分别处理其中的一部分来实现并行数据处理。
在这种设计下,单条Query就能利用整机所有CPU。极致的并行处理能力,极大的降低了查询延时。

弊端:
clickhouse即使对于大量数据的查询也能够化整为零平行处理。但是有一个弊端就是对于单条查询使用多cpu,就不利于同时并发多条查询。所以对于高qps的查询业务,clickhouse并不是强项。

创建二级索引

用法:

	create table t_order_mt2(
    uid UInt32,
    sku_id String,
    total_amount Decimal(16,2),
    create_time  Datetime,
	INDEX a total_amount TYPE minmax GRANULARITY 3 //跳数索引
 ) engine =MergeTree
 partition by toYYYYMMDD(create_time)
   primary key (uid)
   order by (uid,sku_id)

字段说明:

1,GRANULARITY N 是设定跳数索引对于一级索引粒度的个数
2,minmax GRANULARITY 3 的含义就是为 每3*8192行数据计算一对该列的最大最小值,
3,当扫描行扫描到该区间时,会对比最大最小值,如果不在该范围,就可以直接跳过该区域的扫描。
4,PRIMARYKEY不同,跳数索引可以在建表后,即使已经存储数据后,即时添加,如下:

ALTER TABLE t_order_mt
    ADD INDEX skipIdxAmount total_amount TYPE minmax GRANULARITY 3

查看一个表是否为二级索引表

1sql语句:show CREATE TABLE t_order_index2;
2,进入/var/lib/clickhouse/data/default/t_order_index2/20200602_2_2_0查看文件

click house索引文章来源地址https://www.toymoban.com/news/detail-405297.html

到了这里,关于click house索引的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 删除维护计划时报错:索引超出范围必 须为⾮负值并⼩于集合⼤⼩

    问题:删除维护计划时报错:索引超出范围必 须为⾮负值并⼩于集合⼤⼩ 在SQL Server 2016上删除已运行维护计划后,维护计划job没有自动删除掉,手工再删除维护计划job,提示删除失败。 错误现象:delete  语句与 reference 约束\\\"FK_subplan_job_id\\\"冲突。该冲突发生于数据库\\\"msdb\\\",表

    2024年02月11日
    浏览(36)
  • MySQL中IN的取值范围较大时会导致索引失效

    结论:IN肯定会走索引,但是当IN的取值范围较大时会导致 索引失效,走全表扫描 navicat可视化工具使用explain函数查看sql执行信息 1.1 场景1:当IN中的取值只有一个主键时 我们只需要注意一个最重要的type 的信息很明显的提现是否用到索引: type结果值从好到坏依次是: syste

    2024年02月15日
    浏览(35)
  • Springboot 整合ElasticSearch 常用的插入查询,模糊查询,范围查询

    repository.deleteById(id); } catch (Exception ex) { ex.printStackTrace(); return false; } return true; } public Dog saveDog(Dog dog) { try { Dog save = repository.save(dog); System.out.println(“结果:”+save.toString()); return save; } catch (Exception ex) { ex.printStackTrace(); return null; } } public Boolean saveDogAll(List dogsList) { try { reposit

    2024年04月22日
    浏览(43)
  • Elasticsearch 时间范围查询

    简单示例 关于时间的数学表达式(date-math) Elasticsearch中时间可以表示为 now , 也就是系统当前时间, 也可以是以 || 结尾的日期字符串表示. 在日期之后, 可以选择一个或多个数学表达式: +1h —— 加1小时; -1d —— 减1天; /d —— 四舍五入到最近的一天. 下面是Elasticsearch支持数学表

    2024年02月13日
    浏览(41)
  • 千寻服务及覆盖范围查询

    千寻跬步-FindM(亚米级高精度定位服务)在设备支持、监测环境良好的情况下,精度可达0.5m左右; 千寻知寸-FindCM(厘米级高精度定位服务)在设备支持、监测环境良好的情况下,精度可达1-5cm左右; 千寻见微-FindMM(静态毫米级高精度定位服务)在设备支持、监测环境良好的

    2024年02月10日
    浏览(44)
  • ES之多条件、范围查询

    一、多条件查询 1.条件“且”,即查询\\\"title\\\"为\\\"test6\\\",且\\\"num\\\"为5的数据 【GET】请求:http://127.0.0.1:9200/test-index-1/_search,参数如下 结果如下 2.条件“或”,即查询\\\"title\\\"为\\\"test6\\\",或\\\"title\\\"为\\\"test8\\\"的数据 【GET】请求:http://127.0.0.1:9200/test-index-1/_search,参数如下 结果如下 二、范围

    2024年02月11日
    浏览(46)
  • sql 查询时间范围内的数据

    要查询特定时间范围内的数据,您可以使用 SQL 中的  BETWEEN  运算符。以下是一个示例查询,它从名为  your_table  的表中检索在  start_date  和  end_date  之间创建的所有记录: 请注意,您需要将  your_table  替换为您要查询的表的名称, created_date  替换为包含日期/时间值的

    2024年01月22日
    浏览(62)
  • MySQL中BETWEEN AND(范围查询)

    MySQL 提供了 BETWEEN AND ,用来判断字段的数值是否在指定范围内。 BETWEEN AND 需要两个参数,即范围的起始值和终止值。如果字段值在指定的范围内,则这些记录被返回。如果不在指定范围内,则不会被返回。 最近使用between and 去查询数据,但是在时间的临界点有一些问

    2024年02月11日
    浏览(39)
  • ES系列:range范围查询使用举例

    目录 数据范围 时间范围 完整日期方式 字母日期方式 range过滤允许我们按照指定范围查找一批数据

    2024年02月11日
    浏览(58)
  • SpringBoot中ElasticsearchRestTemplate的使用示例,(增删改查、高亮查询、id查询、分页查询、时间范围查询、多条件查询)

    最近在单位搞日志相关的东西,然后部分日志就存储到了elasticsearch索引库,慢慢发觉索引库用着是真香,写这篇文章的目的就是记录一下关于ElasticsearchRestTemplate Api 的使用 下载及整合ElasticSearch SpringBoot2.3.x整合ElasticSearch

    2024年02月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包