【转】关于 SELECT /*!40001 SQL_NO_CACHE */ * FROM 的解惑
2017-12-15 15:54
435 查看
由于 在数据库做了缓存,在对数据库做了备份,然后在慢查询日志中发现了这一串字符: SELECT /*!40001 SQL_NO_CACHE */ * FROM 上网查了一下,发现好多答案,好多人说的都不正确,人云亦云,故整理下: 1 /*! */ 这是mysql 特里的语法,并非注释,因为里面达到条件也会执行。 2 !后面是版本号, 如果本数据库等于或大于此版本号,那么注释内的代码也会执行。 3 那么这句话的意思是 如果版本号大于或等于4,会执行 sql_no_cache, 就是不用缓存数据。 而并非说本次查询不作为下次查询的缓存。 4 在备份操作时Mysql 会自动调用此语法。
【转自】:http://blog.csdn.net/xiaoxi_lv/article/details/47253303
相关文章推荐
- 关于 SELECT /*!40001 SQL_NO_CACHE */ * FROM 的解惑
- MYSQLDUMPSLOW用法,SELECT /*!40001 SQL_CACHE */ * FROM解疑惑,log-bin,
- SELECT /*!40001 SQL_NO_CACHE */ * INTO OUTFILE '/tmp/ClientActionTrack2015112511.txt' 不堵塞事务
- 关于SQL_NO_CACHE
- 关于Sql关键字SELECT FROM GROUP ORDER 等的执行顺序问题的解释
- PL/SQL cursor 游标 where条件接收形参为VARCHAR 不能正常执行的问题 SELECT ContactNameC FROM MTContact WHERE objectno
- 关于Sql关键字SELECT FROM GROUP ORDER 等的执行顺序问题的解释
- (精)java.sql.SQLException: No more data to read from socket
- discuz7.2问题SQL:SELECT * FROM [Table]notelist WHERE closed='0' AND app1'-5' LIMIT 1
- SQL查找表指定部分,where后条件不确定:select * from table where 1='1';
- 关于SqlDataSource.SelectCommand重新赋值检索结果却不改变的问题
- UCenter info: MySQL Query Error SQL:SELECT value FROM [Table]vars WHERE noteexists
- dz论坛SQL:SELECT value FROM [Table]vars WHERE name=\'noteexists1\'解决方法
- MYSQL SQL_NO_CACHE的真正含义
- SQL 中 select into from 和 insert into select 的区别
- 关于数据库依赖缓存的SqlCacheDependency的demo<转>
- 转!sqlite3.OperationalError) no such table- users [SQL- 'SELECT users.id AS users_id, users.email AS u
- sql 语句中 id< ;SELECT * FROM t_blog WHERE id<#{id} ORDER BY id DESC LIMIT 1
- select 1 from ... sql语句中的1代表什么意思?
- PL/SQL Developer快速输入select * from等语句快捷键设置