当前位置: 首页 > news >正文

中铁建设集团门户网站网站做导航条

中铁建设集团门户网站,网站做导航条,手机版龙岩kk网,免费看各大网站的软件前言 这里主要是 探究一下 explain $sql 中各个 type 诸如 const, ref, range, index, all 的查询的影响, 以及一个初步的效率的判断 这里会调试源码来看一下 各个类型的查询 需要 lookUp 的记录 以及 相关的差异 此系列文章建议从 mysql const 查询 开始看 测试表结构…前言 这里主要是 探究一下 explain $sql 中各个 type  诸如 const, ref, range, index, all 的查询的影响, 以及一个初步的效率的判断  这里会调试源码来看一下 各个类型的查询 需要 lookUp 的记录  以及 相关的差异  此系列文章建议从 mysql const 查询 开始看 测试表结构信息如下  CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(12) DEFAULT NULL,PRIMARY KEY (id) USING BTREE ) ENGINEInnoDB AUTO_INCREMENT3333343 DEFAULT CHARSETutf8 测试数据为序列 1 – 99 ref 查询存在的记录 更新表结构, 增加 field1 的索引配置  CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(12) DEFAULT NULL,PRIMARY KEY (id) USING BTREE,KEY field1 (field1) USING BTREE ) ENGINEInnoDB AUTO_INCREMENT3333343 DEFAULT CHARSETutf8 执行更新, 更新一部分记录的 field1 为 ”field33” update tz_test set field1 field33 where id in (33, 35, 60); mysql 读取索引, 这个是在读取索引的数据, 然后和 查询条件进行对比   索引记录存放了 原字段的值 - 记录的主键  这里获取到第一个匹配的索引记录 up_rec 索引记录信息如下, 为 ‘field33’ - 33 然后这里将 pcur-btr_cur-page_cur.rec 更新为 ‘field33’ - 33 对应的索引的位置  然后 接下来就是 读取索引的记录 然后是比较 索引字段的信息 和 查询条件, 如果匹配上 才获取对应的记录 是否需要查询真实记录? 这里会有两种情况, 一种情况是查询的 索引字段 以及 主键, 不需要额外的查询真实记录, 术语称之为 覆盖索引  假设是普通字段, 这里更新 need_to_access_clustered 为 TRUE 另外一种是需要根据 主键关联查询 到 真实的记录, 术语称之为 回表  修改数据表结构如下  CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(12) DEFAULT NULL,field2 varchar(16) DEFAULT NULL,PRIMARY KEY (id) USING BTREE,KEY field1 (field1) USING BTREE ) ENGINEInnoDB AUTO_INCREMENT100 DEFAULT CHARSETutf8update tz_test set field2 id; row_sel_get_clust_rec_for_mysql 中是根据索引记录获取真实的记录  prebuilt-clust_ref 为根据索引记录构造出的 主键查询条件 btr_pcur_open_with_no_init 根据这个主键查询条件去定位目标记录, 将记录信息更新到 prebuilt-cluster_pcur 中相关  根据索引记录 构造 主键查询条件的地方, 比如这里 ‘field33’ - 35 的索引记录  构造出来的主键查询条件为 “where id 35” 更新待复制 rec 为 cluster_rec, 这里的 cluter_rec 为真实记录的地址信息 cluster_rec 的记录信息如下  读取到了真实记录的信息到 mysql_buf 然后不断向下迭代索引记录, 这里是迭代到了 ‘field33’ - 35 依次会迭代 ‘field33 - 60’, ‘field34’ - 34 到 ‘field34’ - 34 的时候, 比较索引条件 跳出了 row_search_mvcc 的循环  这里遍历的索引记录信息依次如下, 索引是按照顺序排列的  到 ‘field34’ - 34 的时候, 比较索引条件 跳出了 row_search_mvcc 的循环  第二条以及之后的记录是缓存在了 prebuilt-fetch_cache 中, 最多预取 7 条记录  第二次, 第三次获取数据是直接通过缓存获取  这里 prebuilt-fetch_cache 中各个元素是已经转换好了的 mysql_rec, 因此 这里是直接 memcpy 到 READ_RECORD.record 中即可  ref 查询不存在的记录 比如说我这里执行一个查询 “select * from tz_test where field1 field133;” 然后时 查询不到记录的, 这里来调试一下 这里的整个流程 查询索引, 定位到的最近的一条记录是索引记录 ‘field14 - 14’, 然后是根据是根据条件进行匹配, 结果匹配不上退出 row_search_mvcc 索引条件匹配不上之后退出   然后外层迭代 记录/索引 这一层处理, 跳出循环  最终响应 0 条记录  完
http://www.w-s-a.com/news/297259/

相关文章:

  • 访问网站的原理wix做网站流程
  • 众鱼深圳网站建设设计师网名叫什么好听
  • 中小学生做试卷的网站6网站建设需要注意哪些细节
  • 以个人名义做地方门户网站社保服务个人网站
  • 上海企业做网站设计制作感悟150字
  • asp.netmvc网站开发ps设计网页
  • win2008 挂网站 404官方网站是什么
  • 网站只做内容 不做外链做姓氏图的网站
  • 中国建设银行信用卡黑名单网站wordpress怎么解密密码
  • 建设银行如何网站设置密码广州网站营销推广
  • 企业做网站的步骤与做网站注意事项四川省住房建设厅网站打不开
  • 网页设计网站规划报告百度文库官网登录入口
  • 郑州医疗网站开发wordpress能注册
  • 创建网站的英语石家庄微信网站建设
  • 分享几个x站好用的关键词微信商城小程序开发一般需要多少钱
  • 做韩国外贸网站wordpress手机版中文
  • 建站群赚钱有前途吗蚌埠北京网站建设
  • 北京网站建设求职简历十堰seo优化教程
  • 网站顶部可关闭广告微信小程序多少钱
  • 网站背景怎么弄斜杠青年seo工作室
  • ps个人网站首页怎么制作如何做网站的版块规划
  • 做网站的市场开源建站工具
  • 邹平做网站哪家好自动点击器app
  • 南阳seo网站排名优化wordpress文章对游客不显示
  • 网站301什么意思湛江市seo网站设计报价
  • 免费建造网站化妆品网络营销方案
  • 建公司网站wordpress the content
  • 网站的站点的管理系统建设银行网站注册企业
  • 长春火车站是哪个站做微商哪个网站有客源
  • 亚马逊培训费用一般多少seo专业培训课程