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

竞价网站同时做优化可以吗网站制作内容

竞价网站同时做优化可以吗,网站制作内容,wordpress换主机,福田网站建设效果简介 好久没发文,是最近我实在不知道写点啥。随着国产化进程,很多 oracle 都在进行迁移,最近遇到了一个分区表迁移之后唯一性的问题。oracle 数据库中创建主键或者唯一索引,不需要引用分区键,但是 PG 就不行&#xff…

简介

好久没发文,是最近我实在不知道写点啥。随着国产化进程,很多 oracle 都在进行迁移,最近遇到了一个分区表迁移之后唯一性的问题。oracle 数据库中创建主键或者唯一索引,不需要引用分区键,但是 PG 就不行,PG 创建主键或者唯一键需要带上分区键,这样一来其唯一性就受到了破坏。

PG 创建测试语句
 postgres=# CREATE TABLE hash_sales (
postgres(#     id         INT,
postgres(#     sale_date  DATE,
postgres(#     amount     NUMERIC,
postgres(#     PRIMARY KEY (id)  -- 主键必须包含分区键
postgres(# ) PARTITION BY hash(sale_date );
ERROR:  unique constraint on partitioned table must include all partitioning columns
DETAIL:  PRIMARY KEY constraint on table "hash_sales" lacks column "sale_date" which is part of the partition key.
postgres=#

报错信息:
ERROR: unique constraint on partitioned table must include all partitioning columns DETAIL: PRIMARY KEY constraint on table "hash_sales" lacks column "sale_date" which is part of the partition key.
创建唯一约束也是如此,需要带上分区键。
这里我们使用 AI 看看 AI 的建议
在这里插入图片描述
AI 的回答也是不太让人满意。如果不能实现 PRIMARY KEY (id) ,那么整体的业务属性都将受到破坏
在分区表中创建 UNIQUE 约束,同样也是需要带上分区键的
报错信息:

postgres=# CREATE TABLE hash_sales ( postgres(# id INT, postgres(# sale_date DATE, postgres(# amount NUMERIC, postgres(# UNIQUE (id) postgres(# ) PARTITION BY hash(sale_date); ERROR: unique constraint on partitioned table must include all partitioning columns DETAIL: UNIQUE constraint on table "hash_sales" lacks column "sale_date" which is part of the partition key. postgres=#
其方法 3 在子表加主键。这个方法显然是无法满足的,并不能保证 ID 的全局唯一性。

下面是其他 AI 的回答

以上回答的 1、4 是不满足 ID 的全局唯一的,这里说的 2、3 方法。
创建触发器,相当于用 PG10 版本以前的继承式分区的方法,使用触发器显然会较大影响到其性能。看是可行实际维护却并不是那么方便。
第三个回答,使用一个小表,这个应用层的框架就要跟着一起,就像在架构上增加了一个布隆过滤器。
这里 AI 还回答了使用外键约束,同事一看能创建成功,感觉可以用了。实际外键只能保证其值存在的合理性,并不能保证其值存在的全局唯一性。

postgres=# CREATE TABLE id_tbale (
postgres(# id varchar(80),
postgres(# location point,
postgres(# primary key(id)
postgres(# );
CREATE TABLEpostgres=# CREATE TABLE hash_sales (
postgres(# id varchar(80) REFERENCES public.id_tbale(id),
postgres(# sale_date DATE,
postgres(# amount NUMERIC
postgres(# ) PARTITION BY hash(sale_date);
CREATE TABLE 

目前测试在 PG16、15 均存在这个问题。目前postgresql17\18的released中也并没有对这个问题进行调整。

http://www.dtcms.com/a/612624.html

相关文章:

  • 网站建设 投标书嘉兴网站seo外包
  • 印度电商平台网站建设策划建站工具 开源
  • 网站 系统概述php做听歌网站
  • 学校门户网站建设报告排版设计欣赏
  • 网站等保测评做资源教程网站
  • 网站网站是怎么建设的做网站第三方登录怎么弄
  • 举报的网站是国外的域名和空间wordpress爱好者论坛
  • 免费学编程国内网站局域网网站
  • 营销型网站有哪些代表百度点击软件还有用吗
  • 免费建站个人网站雅虎搜索引擎首页
  • 宁晋做网站长安外贸网站建设公司
  • 网站建设平台选用分析怎样下载软件到电脑桌面上
  • 中山市做网站公司仿cnzz 网站 源码
  • 石家庄市城乡建设局网站电子商务网络营销论文
  • 江苏雷威建设工程有限公司网站wordpress编辑器上传图片
  • 湛江网站制作网站伪静态网站网站 目录写入权限
  • 手机网站 免费 html织梦视频网站源码
  • 四川有什么好的网站建设公司怎么给公司网站上放视频
  • 唐山住房和城乡建设厅网站超详细的wordpress主题
  • 内蒙古建设厅网站删除常用的系统开发方法有哪些
  • 网站开发员工资网络营销网站推广方法
  • 北京手机网站开发费用织梦5.7转wordpress
  • 威海建设局网站首页网站开发的源代码怎么算侵权
  • 阿里云网站模板晋中市建设局网站
  • 营销网站的优势有哪些evus在哪个网站做登记
  • 珠海市做网站网站建设构建方案
  • 域名服务商网站养老院网站建设的好处
  • 怎么做电力设计公司网站百度站长工具如何使用
  • 做电商网站的公司如何再网站上做免费广告
  • 网站建设中如何设置外链接怎样健网站