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

吉安县规划建设局网站网站页面设计方案

吉安县规划建设局网站,网站页面设计方案,网站 功能需求,什么网站可以做高仿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.w-s-a.com/news/687259/

相关文章:

  • 网站空间大小选择沈阳微信网站制作
  • 网站分享对联广告网站结构的类型
  • 三维家是在网站上做还是在app上北京网站建设 专业10年
  • 模拟网站建设网站建设认准猪八戒网
  • godaddy网站建设教程微信手机网站搭建
  • 网站建设 商城淄博网站制作哪家好
  • 廊坊手机网站团队国际贸易进口代理公司
  • 运用django做网站网站建设问题及解决办法
  • 商丘企业网站服务c mvc 网站开发
  • 太仓建设工程网站广州seo排名外包
  • 成都的教育品牌网站建设做网站不给提供ftp
  • 建站行业市场人力管理系统
  • qq钓鱼网站在线生成器google关键词搜索工具
  • 化妆网站模板移动网站建设模板
  • 欢迎访问语文建设杂志网站网站蓝色配色
  • 最新网站发布重庆城乡建设部网站首页
  • 网站建设费用高鄂尔多斯seo
  • dw做网站怎么发布网站无后台可以上框架
  • 网络公司如何建网站网站的建设需要多少钱
  • 代刷网站推广快速泉州网页定制
  • 网站优秀网站地址做宣传册的公司
  • 苏州高端网站建设咨询wordpress云图插件
  • 河北省建设厅网站重新安装优秀中文网页设计
  • 如何在腾讯云做网站开源站群cms
  • 公司网站建设的意义网易做网站
  • 网络营销案例分析与实践搜外seo
  • 手机建网站挣钱吗wordpress面包屑
  • 淘客做网站怎么备案网站开发工具的是什么
  • 提供大良网站建设郑州网站建设网站开发
  • 邢台做wap网站价格wordpress评论滑动