ruby-on-rails - 如何在 Rails 4 中仅从数据库中提取文本字段的一部分

标签 ruby-on-rails ruby postgresql ruby-on-rails-4

我有一个 Rails 4 应用程序,它的文本字段包含很长的字符串(有时有数千个字符)。我只想在索引 View 中提取前 500 个字符,以便提高应用程序的性能。我不确定该怎么做,或者即使这是提高性能的最佳方法。请指教。

最佳答案

许多 SQL 语言都支持 LEFT 函数,它是一个返回字符串前 n 个字符的标量值。

例如,在 SQLServer 中,您可以使用

SELECT LEFT(text, 500) 

如果数据类型不是 text 或 ntext(两者均已弃用),则此方法有效。

如果您在 Rails 中使用模型,那么您可以使用

MyModel.select("LEFT(COLUMN, 500)")

如果你的SQL支持这种类型的函数。确保将它与您的其他值组合到一个 SQL 查询中。

关于ruby-on-rails - 如何在 Rails 4 中仅从数据库中提取文本字段的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17537994/

相关文章:

ruby-on-rails - 创建用户时如何阻止 Devise 发送邮件?

ruby-on-rails - Rails 3 - 具有连接条件的多数据库

postgresql - Postgres 语言环境错误

ruby-on-rails - 使用Ajax在Rails中更新局部

ruby-on-rails - 在 Rails 中如何使用带索引的 find_each 方法?

ruby - puts返回的nil是什么意思?

ruby-on-rails - 将 bool 列类型更改为 int

python - 通过存储索引提高 Pandas 过滤速度?

mysql - 迁移 postgreSQL 数据到 mysql

ruby-on-rails - 处理标记为 "final"的数据与可能发生更改的数据的最高效代码方式