[英]improving mysql performance
这是有关常见查询的mysql说明命令的屏幕截图: http : //cl.ly/3r34251M320A1P2s3e1Y
我必须将3个不同的表连接在一起以提取所需的数据。 这是使用activerecord的主要CI模型代码
$this->db->select('articles.id, articles.title, articles.link, articles.updated_time, articles.created_time, shows.network,shows.show_id, shows.name');
$this->db->from('articles')->order_by('updated_time','desc')->offset($offset)->limit($limit);
$this->db->join('labels', 'articles.remote_id = labels.articleid');
$this->db->join('shows', 'shows.show_id = labels.showid');
任何人都可以提出任何改进架构或查询性能的方法吗?
谢谢
使查询变慢的原因是mysql使用临时表和文件排序,这意味着它无法有效地使用索引并创建临时表(在磁盘上很多次!)。 当您使用一个索引联接表并按另一个索引对其排序或对另一个索引使用条件时,通常会发生这种情况。 您可以做的第一件事是了解此问题,并至少可以避免使用临时磁盘表。 MySQL如何使用临时表
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.