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

如何知道一个网站是用什么做的合肥建设学校网站首页

如何知道一个网站是用什么做的,合肥建设学校网站首页,定制网站建设公司排行,wordpress flickr由於GROUP BY 實際上也同樣會進行排序操作#xff0c;而且與ORDER BY 相比#xff0c;GROUP BY 主要只是多了排序之后的分組操作。當然#xff0c;如果在分組的時候還使用了其他的一些聚合函數#xff0c;那么還需要一些聚合函數的計算。所以#xff0c;在GROUP BY 的實現…由於GROUP BY 實際上也同樣會進行排序操作而且與ORDER BY 相比GROUP BY 主要只是多了排序之后的分組操作。當然如果在分組的時候還使用了其他的一些聚合函數那么還需要一些聚合函數的計算。所以在GROUP BY 的實現過程中與 ORDER BY 一樣也可以利用到索引。在MySQL 中GROUP BY 的實現同樣有多種(三種)方式其中有兩種方式會利用現有的索引信息來完成 GROUP BY另外一種為完全無法使用索引的場景下使用。下面我們分別針對這三種實現方式做一個分析。1、使用松散(Loose)索引掃描實現 GROUP BY何謂松散索引掃描實現 GROUP BY 呢實際上就是當 MySQL 完全利用索引掃描來實現 GROUP BY 的時候並不需要掃描所有滿足條件的索引鍵即可完成操作得出結果。下面我們通過一個示例來描述松散索引掃描實現 GROUP BY在示例之前我們需要首先調整一下 group_message 表的索引將 gmt_create 字段添加到 group_id 和 user_id 字段的索引中然后再看如下 Query 的執行計划我們看到在執行計划的 Extra 信息中有信息顯示“Using index for group-by”實際上這就是告訴我們MySQL Query Optimizer 通過使用松散索引掃描來實現了我們所需要的 GROUP BY 操作。下面這張圖片描繪了掃描過程的大概實現要利用到松散索引掃描實現 GROUP BY需要至少滿足以下幾個條件◆GROUP BY 條件字段必須在同一個索引中最前面的連續位置;◆在使用GROUP BY 的同時只能使用 MAX 和 MIN 這兩個聚合函數;◆如果引用到了該索引中 GROUP BY 條件之外的字段條件的時候必須以常量形式存在;為什么松散索引掃描的效率會很高?因為在沒有WHERE子句也就是必須經過全索引掃描的時候 松散索引掃描需要讀取的鍵值數量與分組的組數量一樣多也就是說比實際存在的鍵值數目要少很多。而在WHERE子句包含范圍判斷式或者等值表達式的時候 松散索引掃描查找滿足范圍條件的每個組的第1個關鍵字並且再次讀取盡可能最少數量的關鍵字。2.使用緊湊(Tight)索引掃描實現 GROUP BY緊湊索引掃描實現 GROUP BY 和松散索引掃描的區別主要在於他需要在掃描索引的時候讀取所有滿足條件的索引鍵然后再根據讀取惡的數據來完成 GROUP BY 操作得到相應結果。這時候的執行計划的 Extra 信息中已經沒有“Using index for group-by”了但並不是說 MySQL 的 GROUP BY 操作並不是通過索引完成的只不過是需要訪問 WHERE 條件所限定的所有索引鍵信息之后才能得出結果。這就是通過緊湊索引掃描來實現 GROUP BY 的執行計划輸出信息。下面這張圖片展示了大概的整個執行過程在 MySQL 中MySQL Query Optimizer 首先會選擇嘗試通過松散索引掃描來實現 GROUP BY 操作當發現某些情況無法滿足松散索引掃描實現 GROUP BY 的要求之后才會嘗試通過緊湊索引掃描來實現。當 GROUP BY 條件字段並不連續或者不是索引前綴部分的時候MySQL Query Optimizer 無法使用松散索引掃描設置無法直接通過索引完成 GROUP BY 操作因為缺失的索引鍵信息無法得到。但是如果 Query 語句中存在一個常量值來引用缺失的索引鍵則可以使用緊湊索引掃描完成 GROUP BY 操作因為常量填充了搜索關鍵字中的“差距”可以形成完整的索引前綴。這些索引前綴可以用於索引查找。而如果需要排序GROUP BY結果並且能夠形成索引前綴的搜索關鍵字MySQL還可以避免額外的排序操作因為使用有順序的索引的前綴進行搜索已經按順序檢索到了所有關鍵字。3.使用臨時表實現 GROUP BYMySQL 在進行 GROUP BY 操作的時候要想利用所有必須滿足 GROUP BY 的字段必須同時存放於同一個索引中且該索引是一個有序索引(如 Hash 索引就不能滿足要求)。而且並不只是如此是否能夠利用索引來實現 GROUP BY 還與使用的聚合函數也有關系。前面兩種 GROUP BY 的實現方式都是在有可以利用的索引的時候使用的當 MySQL Query Optimizer 無法找到合適的索引可以利用的時候就不得不先讀取需要的數據然后通過臨時表來完成 GROUP BY 操作。這次的執行計划非常明顯的告訴我們 MySQL 通過索引找到了我們需要的數據然后創建了臨時表又進行了排序操作才得到我們需要的 GROUP BY 結果。整個執行過程大概如下圖所展示當 MySQL Query Optimizer 發現僅僅通過索引掃描並不能直接得到 GROUP BY 的結果之后他就不得不選擇通過使用臨時表然后再排序的方式來實現 GROUP BY了。在這樣示例中即是這樣的情況。 group_id 並不是一個常量條件而是一個范圍而且 GROUP BY 字段為 user_id。所以 MySQL 無法根據索引的順序來幫助 GROUP BY 的實現只能先通過索引范圍掃描得到需要的數據然后將數據存入臨時表然后再進行排序和分組操作來完成 GROUP BY。
http://www.zqtcl.cn/news/925489/

相关文章:

  • 线上调研问卷在哪个网站上做网页设计学生作业
  • 云南高端网站建设网页设计工作室选址依据
  • 免费的编程自学网站互联网公司网站建设ppt
  • 免费发帖的网站网站空间服务器费用
  • 商城类的网站一般怎么做做ps从哪个网站上下载图片大小
  • 怎么做网站链接支付免费推广网站搭建
  • 威海 网站建设刚刚北京传来重大消息
  • 深圳返利网站开发做网站版权怎么写
  • 上传网站内容做社交电商第一步怎么做
  • 网站icp查询系统wordpress 页面 首页
  • wordpress安装教程wamp搜索引擎优化的英文缩写是什么
  • 成都旅行社网站建设网站建设包含哪些方面
  • 找不到网站后台怎么办韩国网站域名分类
  • 建设商务网站作用积极参与网站信息建设工作
  • 网站开发阶段Oss怎么做静态网站
  • 做科学小制作的视频网站怎么才能建立自己的网站啊
  • 跳蚤市场网站开发背景网站优点
  • 长春网站建设方案咨询怎么做自己的网站平台
  • 网站建设谈单技巧做网站建设科技公司
  • 品牌网站建设4a小蝌蚪网页设计分类
  • 域名注册以后会给你一个账户名密码上传做好的网站文化网站建设需要的功能
  • 企业站用wordpress做好吗那些做环保网站的好
  • 天津有哪些有名的网站建设公司商城网站模板免费
  • 安徽省途顺建设工程有限公司网站制作网站公
  • 北京建设职工大学网站成都网站建设比较好的公司
  • 网站建设品牌策wordpress怎么做企业网站
  • 网站正在建设中 html 模板医院网站建设预算表
  • 哪个网站能接施工图来做购物网站黑白
  • 网站开发课设心得企业宣传页模板
  • 中学生怎么做网站ghost 卸载wordpress