mysql 同一条查询语句在不同时候执行涉及的io不同
我在linux下在执行查询语句的同时,用iostat -x 1命令实时查看系统io的状况。 整个linux系统并没有其他操作,在没执行查询语句的时候,一直没有io操作。 第一次执行语句的时候, iostat的结果显示为有970.00个读操作,同时也感受到了查询过程的停顿; 但此后再执行,io读操作均为0,很快就返回结果。 我的查询语句用了sql_no_cache,所以,肯定不是从内存中读取的! 这样的差异应该是什么导致的呢?
差别: 第一次从表读取物理IO 第二次从内存读取逻辑IO sql_no_cache 好象只是不缓存在query_cache里面吧 基本上所有的数据库在执行相同的SQL语句时,第二次速度均>第一次, 估计是对SQL语句进行优化,从自己的缓存中读取, 虽然你设置了no_cache引用 差别: 第一次从表读取物理IO 第二次从内存读取逻辑IO 所说物理io和逻辑io是操作系统的概念还是mysql的概念? 也就是说 第一次从表读取物理IO,第二次从内存读取逻辑IO这样的操作是操作系统控制的还是mysql控制的? mysql的引用 sql_no_cache 好象只是不缓存在query_cache里面吧 据我所知是这样的,我确实以为一般情况下如果不从query_cache读,一定从硬盘读,而从硬盘读数据应该是没有差别的!引用 mysql的 能否禁止mysql从逻辑io中读取?全部让他从物理io中读? 要求有点奇怪哦,即使修改
相关问答:
一个行业网站,要实现的功能要求为: 一搜索表单可选搜索 产品/资讯/商家,搜索时希望先搜标题后全文,当前的数据量估计3万多,定位期望在百万级也可用。 数据类型为innodb,当前的方法是对关键词进行 ......
MySql中插入当前时间的该怎么写啊? now() SQL code: sql里是: getdate() 引用 now() 学习 SQL code: select now(); SQL code: TODAY() ? SQL code: select now(); /* ......
我以前安装了一次,后来卸载了,现在再安装的时候,提示错误:Error 1305.Error reading from file C:DOCUME~1\LOCALS~1\Temp\mysql_server.msi.Verify that the file exists and that you can access it. 可是我找 ......
如题 数据是BLOB类型 怎么才能修改其中的某些值 BLOB中存入的是什么内容? 假设字段memo为blob类型,在该字段的值前面增加字符串'add--' 则操作语句如下: SQL code: update tb_blog set memo=concat( ......
我用的like模糊查询,比如mysql的name中有“csdn论坛系统”这几个字,如何在 <input>中查询“csdn 系统”也能出来这个“csdn论坛系统”,我现在是查“csdn”或者“系统”都可以。谢谢各位了!不知道我这么表达 ......