答案1
分为两部分:
这 ...
/*!40001 SQL_NO_CACHE */
... 是告诉 mysql 的指令不是使用 SQL 查询 [计划] 缓存。
此选项在较新版本的 mysql 中已弃用,我怀疑这不是您的问题。
剩下的就是这个……
SELECT * FROM tblLogs;
...这告诉mysql读取一切tblLogs 并将其发送回客户端。是否有一或者更可能的是,百万行,无论每行有多少列或这些列的数据类型是什么,mysql 都会读取所有内容并通过网线将其推送回客户端。
如果存在任何类型的网络瓶颈或速度减慢,此查询将受到严重影响。
(这也是为什么不应select *
在生产代码中使用的另一个证明)。