关于mysql的slow_log中的/*!40001 SQL_NO_CACHE */

最近查看mysql的slow_log时发现有大量的"SELECT /*!40001 SQL_NO_CACHE */ * FROM",于是百度之,解释如下:
1 /*! */ 这是mysql 特例的语法,并非注释,因为里面达到条件也会执行。
2 !后面是版本号, 如果本数据库等于或大于此版本号,那么注释内的代码也会执行。
3 那么这句话的意思是 如果版本号大于或等于4,会执行 sql_no_cache, 就是不用缓存数据。 而并非说本次查询不作为下次查询的缓存。
4 在备份操作时Mysql 会自动调用此语法。

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: