- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试分析两个执行相同操作的不同查询,以找出哪个查询更快。为了进行测试,我已将 SQL_NO_CACHE 放入两个查询中,以防止查询缓存弄乱时间。
查询 A 始终为 50 毫秒。查询 B 第一次运行时为 100 毫秒,如果我在不久之后第二次运行它,则为 10 毫秒。
为什么第二次查询 B 更快?查询缓存不应该加速查询。会不会是查询 B 的第一次运行将数据从磁盘加载到内存中,以便第二个查询在内存中运行并且速度更快?有没有办法测试这个?在运行查询 B 之前,我尝试通过从表中执行 select * 来亲自测试它,但它仍然表现出相同的行为。 SQL_NO_CACHE 可能无法禁用查询缓存吗?
查询 B 看起来像这样:SELECT SQL_NO_CACHE foo,bar FROM table1 LEFT JOIN table2 ON table1.foo=table2.foo WHERE bar=1
最佳答案
根据您使用的存储引擎,是的,它很可能是从数据缓存而不是查询缓存加载的。
MyISAM 不提供数据的存储引擎级缓存,只缓存索引。但是,操作系统通常会从自己的缓存中提供数据,这很可能会加快您的查询执行速度。
您可以尝试在真实场景中对查询进行基准测试,只需在每次执行时(连同执行时间)将特定查询记录到数据库中。
关于即使使用 SQL_NO_CACHE,第二次运行 Mysql 查询也要快得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4962155/
我有一个经常被插入、更新和读取的表 (InnoDB)(通常相隔几毫秒)。我注意到有时 INSERT/UPDATE 之后的 SELECT 语句会得到陈旧的数据。我认为这是由于缓存引起的,但是在将 SQL
我正在检查我的查询,我一直在阅读有关如何在 SELECT 查询中使用 SQL_NO_CACHE 的文章。这让我感到困惑,因为最后每篇文章对何时使用它都有不同的结论。我读过的一篇博客说,如果您有相同的查
第一次运行这个sql,需要39秒,再次运行增加SQL_NO_CACHE,好像没有生效: mysql> select count(*) from `deal_expired` where `site`=
我试图找到它的文档,但失败了。有人知道吗? 最佳答案 有多种方法可以向 jOOQ 查询添加 MySQL 风格的提示: 使用.hint() jOOQ 允许通过.hint() 将“提示”传递给SELECT
SQL_NO_CACHE 可用于在执行 SELECT 查询时禁用 MySQL 的缓存,如下所示:- SELECT SQL_NO_CACHE * FROM tblA 我想知道如果我还需要为子查询指定,我
手册指出“SQL_NO_CACHE”阻止查询被添加到缓存。但它没有说明任何关于使用缓存的信息,我可以看到。 我正在尝试对一个查询的两个版本进行基准测试,但它们已经在没有“SQL_NO_CACHE”的情
是否有 MySQL 关键字 SQL_NO_CACHE(或 SQL Server dbcc drop clean buffers)的 postgresql 等效项,即您可以简单地将其包含在 SQL 语句
我正在尝试分析两个执行相同操作的不同查询,以找出哪个查询更快。为了进行测试,我已将 SQL_NO_CACHE 放入两个查询中,以防止查询缓存弄乱时间。 查询 A 始终为 50 毫秒。查询 B 第一次运
让事件记录在开发环境中对所有查询使用 SQL_NO_CACHE 的简单方法是什么? 我想优化最坏情况加载时间的语句。希望这样做是有意义的,但是我在第一页命中时查询非常慢,而下次所有查询都非常快,因为服
在 MySQL 数据库服务器中,我们有一个名为 test 的模式。该架构具有名为 users 的表。 users 表未在任何地方被 Rails 应用程序使用。 users 条目的唯一位置是在 sche
运行这个命令: mysqldumpslow -a -s r -t 30 /var/lib/mysql/mysql-slow.log 给我这个: Count: 1 Time=1346.85s (134
MySQL 允许我们使用 SQL_CACHE 和 SQL_NO_CACHE 选项创建选择语句。这些选项会影响查询缓存中查询结果的缓存。但是对于哪些查询最好使用 SQL_CACHE 选项,对于哪个 SQ
以下查询适用于 MySql 5.0 SELECT SQL_NO_CACHE ItemId, AnotherColumn FROM TableOne UNION SELECT S
在 MySql 中测试单个查询的性能,并从图片中取出查询缓存,您可以在 select 语句中使用 sql_no_cache 修饰符: select sql_no_cache * from Foo; M
我刚刚打开 slow query logging在我的 MySQL 数据库上,将以下内容添加到 /etc/mysql/my.cnf: log_slow_queries = /var/log/mysql
我是一名优秀的程序员,十分优秀!