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”表的主键是否附加到序列,而不是尝试从序列中获取值.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |