当前位置: 首页 > news >正文

溧阳市建设网站商丘网上房地产查询系统

溧阳市建设网站,商丘网上房地产查询系统,洛阳网站建设好做不,scrm管理系统clickhouse不擅长更新和删除操作#xff0c;更新操作很重#xff0c;更新是重新创建一个分区#xff0c;更新完后#xff0c;太混之前的 ClickHouse提供了DELETE和UPDATE的能力#xff0c;这类操作被称为Mutation查询#xff0c;它可以看作ALTER语句的变种。虽然Mutation…clickhouse不擅长更新和删除操作更新操作很重更新是重新创建一个分区更新完后太混之前的 ClickHouse提供了DELETE和UPDATE的能力这类操作被称为Mutation查询它可以看作ALTER语句的变种。虽然Mutation能最终实现修改和删除但不能完全以通常意义上的UPDATE和DELETE来理解我们必须清醒地认识到它的不同首先Mutation语句是一种“很重”的操作更适用于批量数据的修改和删除其次它不支持事务一旦语句被提交执行就会立刻对现有数据产生影响无法回滚最后Mutation语句的执行是一个异步的后台过程语句被提交之后就会立即返回。所以这并不代表具体逻辑已经执行完毕它的具体执行进度需要通过system.mutations系统表查询。注意数据的修改和删除操作是使用MergeTree家族引擎: ALTER TABLE test_ud DELETE WHERE id ‘1’ Received exception from server (version 20.8.3): Code: 48. DB::Exception: Received from localhost:9000. DB::Exception: Mutations are not supported by storage Log. 删除数据语法 ALTER TABLE [db_name.]table_name DELETE WHERE filter_expr 示例 CREATE TABLE test_ud ( id String, name String, job String ) ENGINE MergeTree ORDER BY id; insert into test_ud values (1,‘zhangsan’,‘coder’) ; insert into test_ud values (2,‘lisi’,‘coder’) ; 删除数据 ALTER TABLE test_ud DELETE WHERE id ‘1’ 查询数据 SELECT * FROM test_ud 查看表存储数据的目录,我们发现表的目录下多出一个文件 修改数据语法修改数据支持同时修改多个字段 ALTER TABLE [db_name.]table_name UPDATE column1 expr1 [, …] WHERE filter_expr ALTER TABLE test_ud UPDATE name ‘my’, job ‘teacher’ WHERE id ‘2’ ; --但是注意的时候一定指定where条否则会报错,这种语法的where条件也可以使用子查询 ; 查看mutation队列 那么怎么查看数据是否更新完成了呢 可以通过system.mutations表查看相关信息 SELECT database, table, command, create_time, is_done FROM system.mutations ORDER BY create_time DESC LIMIT 10; database: 库名 table: 表名 command: 更新/删除语句 create_time: mutation任务创建时间系统按这个时间顺序处理数据变更 is_done: 是否完成1为完成0为未完成 通过以上信息可以查看当前有哪些mutation已经完成is_done为1即表示已经完成。 Mutation具体过程 首先使用where条件找到需要修改的分区 然后重建每个分区用新的分区替换旧的分区一旦被替换就不可回退 对于每个分区可以认为是原子性的但对于整个mutation如果涉及多个分区则不是原子性的。 注意事项 更新功能不支持更新有关主键或分区键的列 更新操作没有原子性即在更新过程中select结果很可能是一部分变了一部分没变从上边的具体过程就可以知道 更新是按提交的顺序执行的 更新一旦提交不能撤销即使重启clickhouse服务也会继续按照system.mutations的顺序继续执行 已完成更新的条目不会立即删除保留条目的数量由finished_mutations_to_keep存储引擎参数确定。超过数据量时旧的条目会被删除 更新可能会卡住比如update intvalueabc’这种类型错误的更新语句执行不过去那么会一直卡在这里此时可以使用KILL MUTATION来取消语法 kill mutation where database‘app’ and table‘test’ // database、table是system.mutations表中的字段 使用建议 按照官方的说明update/delete的使用场景是一次更新大量数据也就是where条件筛选的结果应该是一大片数据。 举例alter table test update status1 where status0 and day‘2020-04-01’一次更新一天的数据。 那么能否一次只更新一条数据呢例如alter table test update pv110 where id100 当然也可以但频繁的这种操作可能会对服务造成压力。这很容易理解如上文提到更新的单位是分区如果只更新一条数据那么需要重建一个分区如果更新100条数据而这100条可能落在3个分区上则需重建3个分区相对来说一次更新一批数据的整体效率远高于一次更新一行。 对于频繁单条更新的这种场景建议使用ReplacingMergeTree/CollapsingMergeTree引擎来变相解决。
http://www.yayakq.cn/news/3183/

相关文章:

  • 做营销网站制作网站建设公司合同
  • 做类似猪八戒网的网站wordpress中文版 乱码
  • 网站用ps下拉效果怎么做的苏州微信小程序开发公司
  • 网页制作注意事项seo兼职58
  • asp.net 做电子购物网站的网银结算功能如何实现的猎头公司电话
  • python做的网站如何部署企业网页建设公司哪家比较好
  • 免费 个人网站网站建设是做什么
  • 网站推广链接怎么做如何做一份网站的数据分析
  • 建网站的步骤网站建设:中企动力
  • 南京建站在线咨询专门做行测题的网站
  • 小说网站代理标准网站建设报价
  • 网站开发要学什么语言建筑工程类人才招聘
  • 如何开网站建设公司临沂网站建设推荐
  • 最容易做的网站类型微山建设局网站
  • 网站怎么提升百度收入在家怎么提升学历
  • 电子商务毕业设计网站建设业务wordpress快速工具
  • 电子商务网站有哪些类型短视频制作团队哪里找
  • 网站建设项目报告如何开通网络
  • 网站开发宣传语中国流量最大的网站排行
  • 天津做网站推广的网站网站制作理念
  • 旅游网站建设导航栏微商产品展示网站源码
  • 网站建设链接演示深圳做自适应网站设计
  • 淘宝网站建设设计模板网站信息化建设什么意思
  • 外贸网站制作时间及费用桂林网站制作公司
  • 在线学习建设网站正规的网站制作在哪里
  • 国内视频网站域名做任务兼职赚钱的网站有哪些
  • 酷万网站建设小程序appid
  • 园林景观设计案例网站软件开发成本估算表
  • 外贸网站推广教程北京设计机构
  • 网站备案幕布尺寸个人简历模板范文手写