我目前正在遇到

MySQL的一些性能问题,并尝试提出解决方案.我已经在各种表中添加了一些索引,它似乎已经从查询长度中删除了几百毫秒,但我想知道是否可以优化以下内容:

负责这个的代码非常适合在下面发布,但总的来说:

>简历中有许多期望职业(=职业模型)

>简历有很多过去的职业(=职业模式)

>简历有很多职业技能(=技能模型)

>简历有很多education_skills(=技能模型)

>职业有很多技能

>职业属于概念

>技能属于概念

>概念有很多,属于概念

我知道没有模型这样做有点棘手,但帖子对字符数量有限制.日志中的大多数查询如下所示:

Language Load (0.0ms)

SELECT `languages`.* FROM `languages` WHERE `languages`.`code` = 'en' LIMIT 1 Skill Load (1.0ms) SELECT `skills`.* FROM `skills` INNER JOIN `occupation_skills` ON `skills`.id = `occupation_skills`.skill_id WHERE ((`occupation_skills`.occupation_id = 156))

Concept Load (1.0ms)

SELECT `concepts`.* FROM `concepts` WHERE `concepts`.`id` = 10 LIMIT 1 ConceptLabel Load (1.0ms) SELECT `concept_labels`.* FROM `concept_labels` INNER JOIN `labels` ON `labels`.`id` = `concept_labels`.`label_id` WHERE `concept_labels`.`concept_id` = 10 AND `labels`.`language_id` = 1 LIMIT 1

Label Load (1.0ms)

SELECT `labels`.* FROM `labels` WHERE `labels`.`id` = 5432 LIMIT 1

其中一些直接来自缓存,如下所示:

CACHE (0.0ms)

SELECT `concept_labels`.* FROM `concept_labels` INNER JOIN `labels` ON `labels`.`id` = `concept_labels`.`label_id` WHERE `concept_labels`.`concept_id` = 10 AND `labels`.`language_id` = 1 LIMIT 1

CACHE (0.0ms)

SELECT `labels`.* FROM `labels` WHERE `labels`.`id` = 5432 LIMIT 1

CACHE (0.0ms)

SELECT `concept_labels`.* FROM `concept_labels` INNER JOIN `labels` ON `labels`.`id` = `concept_labels`.`label_id` WHERE `concept_labels`.`concept_id` = 10 AND `labels`.`language_id` = 1 LIMIT 1 CACHE (0.0ms) SELECT `labels`.* FROM `labels` WHERE `labels`.`id` = 5432 LIMIT 1

CACHE (0.0ms)

SELECT `concept_labels`.* FROM `concept_labels` INNER JOIN `labels` ON `labels`.`id` = `concept_labels`.`label_id` WHERE `concept_labels`.`concept_id` = 10 AND `labels`.`language_id` = 1 LIMIT 1

CACHE (0.0ms)

SELECT `labels`.* FROM `labels` WHERE `labels`.`id` = 5432 LIMIT 1

其中最重要的问题是

Label Load (56.0ms)

SELECT `labels`.* FROM `labels` WHERE (`labels`.`id` IN (9909,9888,9855,9822,9900,9867,9834,9912,9891,9879,9846,9813,9870,9858,9825,9903,9882,9837,9804,9894,9861,9849,9816,9873,9840,9828,9796,9906,9885,9852,9807,9897,9864,9831,9819,9876,9843,9810))

然而输出仍然需要很长时间才能满足我的需求:

Rendered static/categorize.html.haml within layouts/application (515.1ms)

Completed 200 OK in 1651ms (Views: 424.0ms | ActiveRecord: 188.0ms)

还有其他的东西不见了,因为,上次我查了188 424ms!= 1651ms …

在运行性能测试时,JMeter需要8秒才能收到正确的响应…

rails mysql优化_Ruby on Rails中的MySQL性能相关推荐

  1. linux忘记mysql登录用户密码_linux中忘记mysql用户root密码解决方案

    1.vim /etc/my.cnf [mysqld] skip-grant-tables ##追加此行,跳过权限表, 2.重启mysql systemctl restart mysqld 3.mysq ...

  2. 宝塔mysql优化_宝塔面板下实现MySQL性能优化处理

    在PHP+MYSQL架构网站运行过程中,往往会遇到各种性能问题影响,如MySQL.PHP.CPU.磁盘IO.缓存等,其中MySQL瓶颈就是最常见也最难解决的一种影响网站性能的因素:通常,我们会使用re ...

  3. php mysql 迁移_将phpstudy中的mysql迁移至Linux教程

    项目目的 将原来windows环境中使用phpstudy搭建的mysql 5.5.53 中的数据迁移至新主机Linux环境中 环境情况 新主机 系统平台: CentOS release 7.4 (Fi ...

  4. MySQL优化之二:My SQL Server性能优化

    1 安装优化 一般说来,系统功能越多越复杂,性能就会越差.因此在编译安装MySQL时,仅安装需要的功能模块.如存储引擎.需要的字符集等,让系统尽可能的简单. 2 日志设置优化 由于日志记录直接带来的性 ...

  5. mysql优化器怎么选择索引,为什么MySQL查询优化器会选择聚集主索引上的二级索引?...

    为什么Mysql优化器在执行'select * from lookup'而没有order by子句时选择二级索引. 它只是一个侥幸,或者这是一个幕后优化,假设你添加了一个二级索引,它比主键更重要. 我 ...

  6. echarts导入mysql数据库_Echarts最新:Django中从mysql数据库中获取数据传到echarts方式_爱安网 LoveAn.com...

    关于"Echarts"的最新内容 聚合阅读 这篇文章主要介绍了基于vue+echarts 数据可视化大屏展示的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随 ...

  7. mysql主从同步linux,linux中部署mysql主从同步示例详解(绝对经典,看了必会)

    准备两台服务器并安装MySQL5.7 master服务器 192.168.254.132 slave服务器 192.168.254.136 确保两台服务器安装的mysql版本一致,本测试使用的是mys ...

  8. linux mysql cpu 高,Linux系统中关于Mysql数据库导致CPU很高的问题解决

    Linux系统中关于Mysql数据库导致CPU很高的问题解决 发布时间:2007-11-19 00:01:12来源:红联作者:spworks 服务器环境 Liunx AS4 + PHP5 + Mysq ...

  9. mysql删除端口配置文件,linux中的Mysql的安装、重置安装密码、修改权限详解

    安装: 1.安装查看有没有安装过: yum list installed MySQL* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客 ...

  10. mysql优化 运维_MySQL运维---MySQL优化

    一.优化 1.优化的角度 2.优化的方向 3.数据库优化思路 4.MySQL优化介绍 5.优化工具介绍 二.操作系统优化 1.top命令 1)CPU 2)内存 3)slab分配器---Linux内存 ...

最新文章

  1. java事务不生效场景_springboot中使用@Transactional注解事物不生效的坑
  2. Java-Web Servlet开发
  3. android工作机制和内核,android内核剖析学习笔记:AMS(ActivityManagerService)内部原理和工作机制...
  4. 怎么更换WIN7欢迎界面的背景图?
  5. java商城管理系统_基于SSM框架的JAVA商场管理系统
  6. c语言智能指针是什么,C++ 智能指针深入解析
  7. UIImage保存到相册
  8. C++笔记之CopyFile和MoveFile的使用
  9. 卷积神经网络基础知识
  10. 基于ThinkPHP6 + Layui + MySql实现的企业OA系统
  11. 《计算机科学概论(第12版)》—第0章0.2节计算机器的由来
  12. 小学生数学测试软件论文,测试数学论文,关于小学生数学基本能力测试量表的贵族常模制订相关参考文献资料-免费论文范文...
  13. STKMATLAB connect(四)卫星
  14. 怎样用手机照出证件照
  15. intel opcode
  16. JS提示缺少对象的一种解决办法
  17. 高校的论文查重系统有哪些?
  18. android 百度地图驾车导航,百度地图API详解之驾车导航
  19. solidworks画螺纹
  20. 问题 B: 道路建设 (Ver. I)

热门文章

  1. python基础(初识Python)
  2. 问题解决——OpenGL超级宝典 关于gltDrawTorus的错误解决
  3. 对 PL/SQL开发调试的想法
  4. 北京赛区参赛选手代表吴翼在开幕式上的发言稿完整版2011年11月02日 09:50:34
  5. for循环与each的区别
  6. mixin风格的bases class
  7. 拓客系统专用服务器,北京拓客系统
  8. tomcat依赖导入步骤_将tomcat源码导入eclipse
  9. 笔记本电脑截屏_笔记本电脑截屏快捷键是哪个?
  10. 【数据分享】糖尿病患者研究数据集