微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – Rails生成奇怪的mysql查询

我在rails应用程序中使用 rack-mini-profiler,当它加载页面时,它有时会显示一些奇怪的查询,例如:

SHOW FULL FIELDS FROM `tablename`
SHOW TABLES LIKE 'tablename'
SHOW CREATE TABLE `tablename`

他们说这些查询来自处理请求的控制器,来自一条线路

@model = Model.first()

这些查询不会在连续的页面加载上执行.

为什么rails会生成这些奇怪的查询

解决方法

您可能已经意识到Rails会按照惯例自动数据库中的字段映射到模型中的属性,这样您就不必在ActiveRecord类实现中明确定义“id”,“name”等.

为了让ActiveRecord模型生成正确的属性,Rails必须询问您的数据库模式. MysqL支持上面的命令以检查模式.

但是,ActiveRecord假设您的架构在应用程序运行的生命周期内不会发生变化,因此没有必要在后续请求中提出这些问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐