- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用名为 feedwordpress 的 WordPress 插件为了在 WordPress 上运行一个类似行星的网站(参见 here )。
这个插件很棒,除了一件事之外 - 它每周左右都会占用我的(VPS)服务器提交一次。
在最近与网络管理员的电子邮件交流中,他写道:
It does look like the increased mysql resource usage is being caused by slow queries being run by r-bloggers.com. Here is a copy of some of the logs that are being produced. You would need to optimize this site and database further to have it running as efficiently as possible. If these changes have already been made, your best option would be to look into a large upgrade for your VPS due to the high level or resources and traffic that your site needs and sees.
以下是日志:
# Time: 110614 16:11:35
# User@Host: rblogger_rblogr[rblogger_rblogr] @ localhost []
# Query_time: 104 Lock_time: 0 Rows_sent: 0 Rows_examined: 54616
SELECT SQL_CALC_FOUND_ROWS wp_rb_posts.* FROM wp_rb_posts WHERE 1=1 AND ((guid = '235cbefa4424d0cdb7b6213f15a95ded') OR (guid = 'http://www.r-bloggers.com/?guid=235cbefa4424d0cdb7b6213f15a95ded') OR (guid = 'http://www.r-bloggers.com/?guid=235cbefa4424d0cdb7b6213f15a95ded') OR (MD5(guid) = '235cbefa4424d0cdb7b6213f15a95ded')) AND wp_rb_posts.post_type IN ('post', 'page', 'attachment', 'revision', 'nav_menu_item') AND (wp_rb_posts.post_status = 'publish' OR wp_rb_posts.post_status = 'future' OR wp_rb_posts.post_status = 'draft' OR wp_rb_posts.post_status = 'pending' OR wp_rb_posts.post_status = 'trash' OR wp_rb_posts.post_status = 'auto-draft' OR wp_rb_posts.post_status = 'inherit' OR wp_rb_posts.post_status = 'private') ORDER BY wp_rb_posts.post_date DESC LIMIT 1570, 10;
# User@Host: rblogger_rblogr[rblogger_rblogr] @ localhost []
# Query_time: 237 Lock_time: 0 Rows_sent: 0 Rows_examined: 54616
SELECT SQL_CALC_FOUND_ROWS wp_rb_posts.* FROM wp_rb_posts WHERE 1=1 AND ((guid = '235cbefa4424d0cdb7b6213f15a95ded') OR (guid = 'http://www.r-bloggers.com/?guid=235cbefa4424d0cdb7b6213f15a95ded') OR (guid = 'http://www.r-bloggers.com/?guid=235cbefa4424d0cdb7b6213f15a95ded') OR (MD5(guid) = '235cbefa4424d0cdb7b6213f15a95ded')) AND wp_rb_posts.post_type IN ('post', 'page', 'attachment', 'revision', 'nav_menu_item') AND (wp_rb_posts.post_status = 'publish' OR wp_rb_posts.post_status = 'future' OR wp_rb_posts.post_status = 'draft' OR wp_rb_posts.post_status = 'pending' OR wp_rb_posts.post_status = 'trash' OR wp_rb_posts.post_status = 'auto-draft' OR wp_rb_posts.post_status = 'inherit' OR wp_rb_posts.post_status = 'private') ORDER BY wp_rb_posts.post_date DESC LIMIT 570, 10;
# Time: 110614 16:18:13
# User@Host: rblogger_rblogr[rblogger_rblogr] @ localhost []
# Query_time: 257 Lock_time: 0 Rows_sent: 0 Rows_examined: 54616
SELECT SQL_CALC_FOUND_ROWS wp_rb_posts.* FROM wp_rb_posts WHERE 1=1 AND ((guid = '956e208f101562f6654e88e9711276e4') OR (guid = 'http://www.r-bloggers.com/?guid=956e208f101562f6654e88e9711276e4') OR (guid = 'http://www.r-bloggers.com/?guid=956e208f101562f6654e88e9711276e4') OR (MD5(guid) = '956e208f101562f6654e88e9711276e4')) AND wp_rb_posts.post_type IN ('post', 'page', 'attachment', 'revision', 'nav_menu_item') AND (wp_rb_posts.post_status = 'publish' OR wp_rb_posts.post_status = 'future' OR wp_rb_posts.post_status = 'draft' OR wp_rb_posts.post_status = 'pending' OR wp_rb_posts.post_status = 'trash' OR wp_rb_posts.post_status = 'auto-draft' OR wp_rb_posts.post_status = 'inherit' OR wp_rb_posts.post_status = 'private') ORDER BY wp_rb_posts.post_date DESC LIMIT 570, 10;
# Time: 110614 16:19:02
# User@Host: rblogger_rblogr[rblogger_rblogr] @ localhost []
# Query_time: 83 Lock_time: 0 Rows_sent: 0 Rows_examined: 54616
SELECT SQL_CALC_FOUND_ROWS wp_rb_posts.* FROM wp_rb_posts WHERE 1=1 AND ((guid = '6c589e661f03a67b0529fab2f080bfd3') OR (guid = 'http://www.r-bloggers.com/?guid=6c589e661f03a67b0529fab2f080bfd3') OR (guid = 'http://www.r-bloggers.com/?guid=6c589e661f03a67b0529fab2f080bfd3') OR (MD5(guid) = '6c589e661f03a67b0529fab2f080bfd3')) AND wp_rb_posts.post_type IN ('post', 'page', 'attachment', 'revision', 'nav_menu_item') AND (wp_rb_posts.post_status = 'publish' OR wp_rb_posts.post_status = 'future' OR wp_rb_posts.post_status = 'draft' OR wp_rb_posts.post_status = 'pending' OR wp_rb_posts.post_status = 'trash' OR wp_rb_posts.post_status = 'auto-draft' OR wp_rb_posts.post_status = 'inherit' OR wp_rb_posts.post_status = 'private') ORDER BY wp_rb_posts.post_date DESC LIMIT 1440, 10;
这引出了我的问题 - 该日志中的哪些内容可能向我表明正在发生的事情(为什么此类查询需要这么长时间?)?是否可以优化这些?如果是这样,怎么办?
谢谢,塔尔
最佳答案
熟悉 WordPress,我认为您应该附加到有关该主题的正在进行的票证之一,或者创建一个新的票证。
http://core.trac.wordpress.org/ticket/10469
http://core.trac.wordpress.org/ticket/10964
http://core.trac.wordpress.org/search?q=SQL_CALC_FOUND_ROWS
或者,放弃并使用更适合该任务的工具。
关于mysql - 加速大型数据库的 "SQL_CALC_FOUND_ROWS"SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6352290/
$query->select('SQL_CALC_FOUND_ROWS i.title,i.fulltext,i.shorttext'); $query->from('#__items
我们开始使用基于语句的复制,发现它破坏了 SQL_CALC_FOUND_ROWS 和 FOUND_ROWS(),我正在寻找解决方法。 2007 年错误报告中的评论建议使用 SELECT SQL_CAL
所以我执行查询: SELECT SQL_CALC_FOUND_ROWS * FROM table l LIMIT 10, 20; 从表中返回 20 行,表中共有 553 行 然后我立即执行SELECT
我正在处理使用 SQL_CALC_FOUND_ROWS() 的分页代码,但是当我将每页的结果限制为小于总结果的数字时,“SELECT FOUND_ROWS() as total”将返回每页的元素数,并
如何获取特定查询的总行数并将查询结果限制为 10 行。例如。我有一个名为样本的表。它有 400 行。在运行像 where name = "%Sam%"这样的查询时,它返回 213 行。现在我只取前 1
我使用嵌套的 MySQL 查询来获取用户帖子,当我将 SQL_CALC_FOUND_ROWS 放入子查询时,MySQL 返回错误:Incorrect usage/placement of 'SQL_C
我发现 MySQL 返回一个 Incorrect usage/placement of 'SQL_CALC_FOUND_ROWS' 如果我将 SQL_CALC_FOUND_ROWS 放入子查询中会出错
所以我有一个表,其中有超过 500 万行。当我使用 SQL_CALC_FOUND_ROWS 时,查询永远挂起。当我把它拿出来时,查询在一秒钟内执行,限制为 25。我的问题是出于分页原因,是否有替代方法
我目前正在摸索如何使用准备好的语句实现 SQL_CALC_FOUND_ROWS。 我正在编写一个分页类,显然我想向查询添加 LIMIT,但也想知道总行数是多少。 这是相关类(class)的示例。 $q
我想删除此查询返回的记录: SELECT SQL_CALC_FOUND_ROWS tag, COUNT( tag ) AS count FROM _tags GROUP BY tag HAVING c
我正在做一个简单的 MySQL 查询来计算查询返回的行数,而没有 LIMIT 子句的影响。我将 Active Records 与 Codeigniter PHP 框架结合使用。 问题:使用SQL_CA
我正在尝试从数据库进行分页,到目前为止我发现如果您想使用限制,您应该使用 SQL_CALC_FOUND_ROWS。 但是,在 Java 中,我在理解如何调用它时遇到了一些问题。 我可以在一个 prep
我有一个查询,它获取一个结果,对其进行限制,然后对有限的结果进行排序。像这样的东西: (SELECT SQL_CALC_FOUND_ROWS * FROM table ... ORDER BY sc
我在 MySQL、InnoDB 中使用 SQL_CALC_FOUND_ROWS 时遇到一些问题。首先让我展示一个简单的数据库架构来解释正在发生的事情...... Database Schema 媒体表
我正在使用名为 feedwordpress 的 WordPress 插件为了在 WordPress 上运行一个类似行星的网站(参见 here )。 这个插件很棒,除了一件事之外 - 它每周左右都会占用
根据这个答案:here The use of SQL_CALC_FOUND_ROWS is not subject to race conditions. The result of the SELE
我在 centos 6 机器上使用 MySQL 5.6(mysql Ver 14.14 Distrib 5.6.44,用于使用 EditLine 包装器的 Linux (i686)) 我有一个包含多个
我正在尝试为查询全文索引表的结果添加分页。这是查询: 普通查询 SELECT *,MATCH(title) AGAINST ("+samsung +galaxy +s3" IN BOOLEAN MOD
我在使用 MYSQL 时遇到问题。 SQL_CALC_FOUND_ROWS 和 FOUND_ROWS() 工作不正常。 问题: 第一次总返回1 第二次总数返回正确的3,500 名 MYSQL版本: m
这是我所知道的一种方式。请建议任何其他??? SELECT SQL_CALC_FOUND_ROWS * FROM Table; SELECT FOUND_ROWS(); 最佳答案 你可以使用(它会更快
我是一名优秀的程序员,十分优秀!