【发布时间】:2014-06-13 07:28:16
【问题描述】:
我创建了一个表格 answers 并在其中添加了以下索引:
add_index :answers, [:output, :question_id], unique: true
索引允许通过其输出和 question_id 快速查找答案。创建许多答案时,出现以下错误:
PG::ProgramLimitExceeded:错误:索引行大小 3088 超出索引的最大值 2712
“index_answers_on_output_and_question_id”
提示:大于缓冲区页面 1/3 的值不能被索引。
考虑值的 MD5 哈希的函数索引,或使用全文索引。
我该如何解决这个问题?我可以将唯一性方面移到模型中,但索引很重要。 Rails 是否支持创建 MD5 哈希值?
【问题讨论】:
-
目前,我只是避免保存任何超过 2700 个字符的记录。
标签: ruby-on-rails postgresql indexing ruby-on-rails-4.1