加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 不必要的选择主键序列调用

发布时间:2020-12-17 01:58:08 所属栏目:百科 来源:网络整理
导读:我最近使用类似于 this method的方法切换到使用Postgresql在我的Rails 3应用程序中使用整数序列ID到主键的UUID.因此,我的表中没有任何序列,但Rails仍在制作(我相信是)创建记录时不必要的调用选择序列.例如: PK and serial sequence (1.3ms) SELECT attr.att
我最近使用类似于 this method的方法切换到使用Postgresql在我的Rails 3应用程序中使用整数序列ID到主键的UUID.因此,我的表中没有任何序列,但Rails仍在制作(我相信是)创建记录时不必要的调用选择序列.例如:

PK and serial sequence (1.3ms)   SELECT attr.attname,seq.relname
 FROM pg_class seq,pg_attribute attr,pg_depend dep,pg_namespace name,pg_constraint cons
 WHERE seq.oid = dep.objid
 AND seq.relkind = 'S'
 AND attr.attrelid = dep.refobjid
 AND attr.attnum = dep.refobjsubid
 AND attr.attrelid = cons.conrelid
 AND attr.attnum = cons.conkey[1]
 AND cons.contype = 'p'
 AND dep.refobjid = '"posts"'::regclass

我相信这是由函数pk_and_sequence_for生成的,我的模式的相关部分是:

t.uuid   "id",:null => false,:primary => true

uuid类型只有32个字符.

任何人都可以用一种优雅的方式来启发我,以防止Rails进行此查询吗? (或解释为什么有必要).谢谢.

解决方法

该查询正在检查数据库目录,以查看“posts”表的主键是否附加到序列,而不是尝试从序列中获取值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读