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

什么叫网站开发帮人做网站收多少钱

什么叫网站开发,帮人做网站收多少钱,秦皇岛网站制作电话,采购网哪个平台比较好前言 这里我们主要是来探讨一下 mysql 中 in 的使用, find_in_set 的使用 这两者 在我们实际应用中应该也是 非常常用的了 测试数据表如下 CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(16) DEFAULT NULL,field2 varchar(16) DEFAU…

前言

这里我们主要是来探讨一下 mysql 中 in 的使用, find_in_set 的使用 

这两者 在我们实际应用中应该也是 非常常用的了 

 

 

测试数据表如下

CREATE TABLE `tz_test` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`field1` varchar(16) DEFAULT NULL,`field2` varchar(16) DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,KEY `field1` (`field1`) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8

 

然后测试数据如下 

975566306622420d98cc68cc58d323e6.png

 

 

 in 拆分为多个 range 查询

执行 sql 如下 “select * from tz_test where field1 in ("field1", "field5");”

 

explain 如下, 然后 这个查询会将 sql 拆分为 类似于如下效果

“select * from tz_test where field1 > =‘field1’ and field1 <= ‘field1’ ” + “select * from tz_test where field1 > =‘field5’ and field1 <= ‘field5’ ”

b04f65871c884761b56505e69315499a.png

 

然后我们来看一下 迭代这多个 range 查询的地方 

第一个 range 区间如下 实现类似于 “select * from tz_test where field1 > =‘field1’ and field1 <= ‘field1’”

c998cce0fd444c058dafad78d031dc5f.png

 

第二个 range 区间如下 实现类似于 “select * from tz_test where field1 > =‘field5’ and field1 <= ‘field5’”

9cefce313bfb49e5a266f72144945d8a.png

 

总共执行的 row_search_mvcc 的查询如下 

其中, 第二个 ”field2” 和 第二个 ”field6” 的查询是在 do..while 中 read_range_next 中去查询的 

第一个 field1 和 field2 是在 “select * from tz_test where field1 > =‘field1’ and field1 <= ‘field1’” range 查询中 

第一个 field5 和 field6 是在 “select * from tz_test where field1 > =‘field5’ and field1 <= ‘field5’” range 查询中 

至于 range 的查询流程, 这里就不多 赘述了, 可以参考前面 mysql range 查询 

ca94fcf264cb4bfe952fc397786b4b36.png

 

 

in 的全表扫描 

执行 sql 如下 “select * from tz_test where field1 in ("field9", "field5");”

 

explain 如下, 可以看到的是 进行了 全表扫描

b1dde2d77a8946eb8c4eebaf55e11a63.png

 

在 row_search_mvcc 中没有做条件过滤限制 

in 的条件限制是在外面 Item_func_in 中进行处理的, 来判断当前 字段 是否在目标 列表中

ea82fe1ea12646b398e68f9aac8bd7ef.png

 

然后外层 evaluate_join_record 中来判断条件是否成立, 如果不成立 更新统计信息

如果成立, 输出当前记录 选择的相关列

b3d54cb424d74245831d29d25e6b3250.png

 

 

什么时候拆分 range, 什么时候 不拆分? 

这里仅仅是 整理一个 模糊的规律, 因为 全表扫描的开销 取决于很多情况

 

执行sql 如下 “explain select * from tz_test where field1 in ("field1", "field5");”

可以看到 全表扫描 的开销大概是在 5 左右 

field1 索引扫描开销是 4, 大致的计算方式为扫描的记录的数量, 比如 ”field1”, ”field5” 需要扫描 “field1”, “field2”, “field5”, “field6,field5”

这里 field1 索引扫描开销较小, 因此选择的是 索引扫描

24ccf65a016048ee844198600656a911.png

 

执行sql 如下 “explain select * from tz_test where field1 in ("field9", "field5");”

可以看到 全表扫描 的开销大概是在 5 左右 

field1 索引扫描开销是 5, 大致的计算方式为扫描的记录的数量, 比如 ”field9”, ”field5” 需要扫描 “field5”, “field6,field5”, “field9”, “field9”, “supremum”

这里 全表索引扫描开销较小, 因此选择的是 全表扫描

e750426bc6234610a3f750d1e94f2854.png

 

执行sql 如下 “explain select * from tz_test where field1 in ("field1", "field2", "field3");”

可以看到 全表扫描 的开销大概是在 5 左右 

field1 索引扫描开销是 6, 大致的计算方式为扫描的记录的数量, 比如 ”field1”, ”field2”, “feidl3” 需要扫描 “field1”, “field2”, “field2”, “field3”, “field3”, “field4,field5”

这里 全表索引扫描开销较小, 因此选择的是 全表扫描

cd8ce8597d864491bd76c582ae0b5129.png

 

 

 

 

 

http://www.yayakq.cn/news/375417/

相关文章:

  • 商务网站建设公司排名大连自己的网站
  • 阿里云主机 搭建网站广西省建设厅网站
  • 屏蔽网站接口js广告葫芦岛做网站公司
  • 大连html5网站建设费用全国最好设计培训
  • 网站设置右击不了如何查看源代码网络营销策划方案简介
  • 做陶瓷的公司网站重庆网站建设公司价钱
  • 做网站公司排名多少钱朝阳区互联网大厂
  • 视频网站采集规则信息展示网站系统
  • 网站200m虚拟主机能放多少东西宜宾网站建设北斗网络
  • 做网站需要学会写代码吗应用商城app开发下载
  • 响应式网站的制作网站制作南宁隆安网站建设
  • 五金网站制作广州网站建设一般多少钱
  • 微信h5游戏网站建设抖音视频添加小程序怎么赚钱
  • 云南省建设厅建管处网站做网页需要什么软件
  • 企业网站管理系统迁安三屏网站建设
  • 贵州讯玛网站建设wordpress文章表格自适应
  • 微网站建设及微信公众号seo运营工作内容
  • 网站生成word做网站哪个比较好
  • 网站开发惠州windows10优化软件
  • 宁波品牌网站公司排名《网站建设与管理》方案
  • 给一个网站做需求分析网站建设.pdf百度云
  • 网站备案负责人修改武山县建设局网站
  • 网站做微信小程序号码比较好写的电子商务论文题目
  • 上海稼禾建设装饰集团网站有模板了怎么建设网站
  • 信誉好的营销单页网站企业网站备案网地址
  • 网站建设业务方法网上销售有哪些方法
  • 宁波网站关键词推广网站北京备案快吗
  • 厦门做企业网站多少钱网站建设宗旨怎么写
  • 在线手机动画网站模板黄骅港港务集团
  • 网站制作方案设计上海软件公司有哪些