丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

當(dāng)前位置:首頁(yè) > 科技數(shù)碼

orderby 教你一招:orderBy排序優(yōu)化

排序的方式index(索引排序,性能最佳)

盡可能使用索引字段來(lái)排序filesort(文件排序)2.1 雙路排序

MySQL4.1 之前的版本,通過(guò)兩次掃描磁盤(pán),最終得到數(shù)據(jù)。先從磁盤(pán)中讀取行指針和 order by 列,并對(duì)它們進(jìn)行排序,然后掃描已經(jīng)排好序的列表,按照列表中的值重新從列表中讀出(再一次從磁盤(pán)中讀),要對(duì)磁盤(pán)進(jìn)行兩次掃描,IO是很耗時(shí)的。2.2 單路排序

MySQL4.1 之后,增加的更優(yōu)排序算法,從磁盤(pán)讀取查詢(xún)需要的所有列,按照order by列在buffer(緩沖區(qū))對(duì)它們進(jìn)行序,然后掃描排序后的列表進(jìn)行輸出,它的效率要更快一些,避免了第二次讀取數(shù)據(jù)(從磁盤(pán)讀)并且把隨機(jī)IO變成了順序IO,但是它會(huì)使用過(guò)多空間,因?yàn)樗衙恳恍卸急4嬖趦?nèi)存中了。不足:

在sort_buffer中,單路算法比雙路算法要多占用很多空間,因?yàn)閱温匪惴ㄊ前阉凶侄味既〕觯杂锌赡苋〕龅臄?shù)據(jù)總大小超出了,sort_buffer(MySQL會(huì)給每個(gè)線(xiàn)程分配一塊內(nèi)存用于排序) 的容量,導(dǎo)致每次只能取 sort_buffer 容量大小的數(shù)據(jù),進(jìn)行排序(創(chuàng)建tmp文件,多路合并),排完再取出。sort_buffer容量太小,再排......從而多次IO操作,本想著省一次IO操作,反而導(dǎo)致了大量的IO操作,反而得不償失。使用單路排序滿(mǎn)足的條件:

1. 查詢(xún)語(yǔ)句所取出的字段類(lèi)型大小總和要小于max_length_for_sort_data2. 排序字段中不包含text和blob類(lèi)型優(yōu)化策略3.1 只query需要的字段

1. 當(dāng)query的字段大小總和小于max_length_for_sort_data,而且排序字段不是TEXT|BLOB類(lèi)型,會(huì)使用單路排序算法,否則使用多路排序算法。2. 兩種算法的數(shù)據(jù)都有可能超出sort_buffer的容量,超出之后,創(chuàng)建tmp文件進(jìn)行合并排序,導(dǎo)致多次的IO,但是使用單路排序的風(fēng)險(xiǎn)更大,所以要提高sort_buffer_size。3.2 嘗試提高sortbuffersize

不管使用哪種算法,提高這個(gè)參數(shù)都會(huì)提高效率,要根據(jù)系統(tǒng)的自身能力去提高,因?yàn)檫@個(gè)參數(shù)是針對(duì)每個(gè)進(jìn)程的。3.3 嘗試提高maxlengthforsortdata

提高這個(gè)參數(shù),會(huì)增加用改進(jìn)算法的概率。但如果設(shè)置得太高,數(shù)據(jù)總?cè)萘砍鰏ort_buffer_size的概率會(huì)增大,明顯癥狀是高的磁盤(pán)IO活動(dòng)和低的處理器使用率。實(shí)例數(shù)據(jù)表

*************************** *************************** Table: userCreate Table: CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `age` int(10) NOT NULL DEFAULT "0", `city` varchar(20) NOT NULL, `addr` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_name_age_city` (`name`,`age`,`city`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ciorder by能使用索引最左前綴

* select id,name,age,city from user order by name;* select id,name,age,city from user order by name,age,city;* explain select id,name,age,city from user order by name desc,age desc,city desc;如果where使用索引的最左前綴定義為常量,則order by 能使用索引

* select * from user where name = "zhangsan" order by age,city;* select * from user where name = "zhangsan" and age = 20 order by city;* select * from user where name = "zhangsan" and age > 20 order by age,city;不能使用索引進(jìn)行排序

select * from user order by name,age,city;//query*字段select * from user order by addr;//非索引字段排序select * from user order by name,addr;//含有非索引字段select * from user where age = 20 order by city;//跳過(guò)了name字段,違反最左前綴法則select * from user where name = "zhangsan" order by city;//跳過(guò)了age字段,違反最左前綴法則select * from user where name = "zhangsan" order by age,addr;//含有非索引字段

1.《orderby 教你一招:orderBy排序優(yōu)化》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。

2.《orderby 教你一招:orderBy排序優(yōu)化》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/keji/486896.html

上一篇

jdx是什么快遞 京東成立JDX事業(yè)部 智慧物流開(kāi)放平臺(tái)亮相

下一篇

賽門(mén)鐵克招聘 賽門(mén)鐵克宣布裁員和關(guān)閉一些設(shè)施

視圖索引 怎么優(yōu)化你的SQL查詢(xún)?以PostgreSQL為例

  • 視圖索引 怎么優(yōu)化你的SQL查詢(xún)?以PostgreSQL為例
  • 視圖索引 怎么優(yōu)化你的SQL查詢(xún)?以PostgreSQL為例
  • 視圖索引 怎么優(yōu)化你的SQL查詢(xún)?以PostgreSQL為例

GParted 開(kāi)源磁盤(pán)分區(qū)工具 GParted

  • GParted 開(kāi)源磁盤(pán)分區(qū)工具 GParted
  • GParted 開(kāi)源磁盤(pán)分區(qū)工具 GParted
  • GParted 開(kāi)源磁盤(pán)分區(qū)工具 GParted
信用卡盜用 為了防止信用卡盜刷 機(jī)器學(xué)習(xí)算法認(rèn)出你是誰(shuí)

信用卡盜用 為了防止信用卡盜刷 機(jī)器學(xué)習(xí)算法認(rèn)出你是誰(shuí)

(                                                            盜刷信用卡風(fēng)險(xiǎn)已經(jīng)成為困擾全球銀行信用卡部門(mén)的難題之一。僅以美國(guó)為例,美聯(lián)儲(chǔ)的支付調(diào)查報(bào)道顯示,2012年全美信用卡支付總金額達(dá)到260億美元,這其中未經(jīng)授權(quán)的信用卡支付,也就是盜刷信用卡的金額高達(dá)61億美元。對(duì)銀行而言,衡量...

季逸超 做完瀏覽器和輸入法,季逸超這次帶來(lái)了一款搜索引擎Magi

季逸超 做完瀏覽器和輸入法,季逸超這次帶來(lái)了一款搜索引擎Magi

如果有一個(gè)初創(chuàng)團(tuán)隊(duì)告訴你,他們的創(chuàng)業(yè)項(xiàng)目是做一個(gè)搜索引擎,你會(huì)是什么反應(yīng)?上周我就接到了這么一個(gè)項(xiàng)目,這款名叫Magi的搜索引擎背后的團(tuán)隊(duì),是之前做猛犸瀏覽器和Rasgueadol的季逸超和他創(chuàng)立的Peak Labs。那么,Magi相比普通的搜索引擎有什么特別之處呢?簡(jiǎn)單點(diǎn)說(shuō),Magi是一個(gè)全新的自然語(yǔ)言搜索引擎+知識(shí)圖譜服務(wù)。普通的搜索引擎,不...

谷歌查鴿 Google更新“鴿子”算法,離你最近的搜索對(duì)象將獲得最高的排位

谷歌查鴿 Google更新“鴿子”算法,離你最近的搜索對(duì)象將獲得最高的排位

這是谷歌繼去年的“蜂鳥(niǎo)”之后又一次更新搜索引擎的算法,“鴿子”這個(gè)代號(hào)并非是谷歌官方的稱(chēng)謂,而是搜索引擎博客SEL自己起的代號(hào)。因?yàn)閺?012年的“企鵝”開(kāi)始,谷歌喜歡用一種鳥(niǎo)類(lèi)來(lái)冠名自己的的搜索引擎算法更新。就像蘋(píng)果之前用貓科動(dòng)物來(lái)命名Mac OS版本一樣。如果說(shuō)“蜂鳥(niǎo)”是谷歌對(duì)搜索進(jìn)行的一次外科手術(shù)。那么“鴿子”就是涂上了LBS藥劑的貼膏。它...

安貸客 安貸客:貸款搜索引擎

  • 安貸客 安貸客:貸款搜索引擎
  • 安貸客 安貸客:貸款搜索引擎
  • 安貸客 安貸客:貸款搜索引擎
數(shù)據(jù)挖掘算法 騰訊孫國(guó)政:大數(shù)據(jù)挖掘和推薦算法最新進(jìn)展

數(shù)據(jù)挖掘算法 騰訊孫國(guó)政:大數(shù)據(jù)挖掘和推薦算法最新進(jìn)展

本站訊 9月8日消息,由CSDN主辦的2012中國(guó)軟件開(kāi)發(fā)者大會(huì)今天在北京國(guó)家會(huì)議中心舉行,本站作為合作門(mén)戶(hù)在現(xiàn)場(chǎng)直播報(bào)道。騰訊首席科學(xué)家孫國(guó)政做了主題為“超大規(guī)模用戶(hù)數(shù)據(jù)挖掘和推薦算法最新進(jìn)展”的主題演講。主持人:剛才蔣總PPT里有很多圖,有一個(gè)共同特點(diǎn)都是指數(shù)系,這意味著速度越來(lái)越快,數(shù)據(jù)的增長(zhǎng)不僅是多而且是越來(lái)越多,怎么樣才能應(yīng)對(duì)這樣的問(wèn)題...

社會(huì)化搜索引擎 Volunia:社會(huì)化搜索引擎

社會(huì)化搜索引擎 Volunia:社會(huì)化搜索引擎

Volunia搜索首頁(yè)截屏Volunia搜索結(jié)果界面截屏。頁(yè)面上方會(huì)列出搜索過(guò)該關(guān)鍵詞的用戶(hù)網(wǎng)站名稱(chēng):Volunia(http://www.volunia.com)上線(xiàn)日期:2012年6月14日產(chǎn)品類(lèi)型:社會(huì)化搜索引擎公司及創(chuàng)始團(tuán)隊(duì):公司在意大利,其創(chuàng)始人兼CEO Mariano Pireddu曾在電信領(lǐng)域有豐富經(jīng)驗(yàn)。國(guó)內(nèi)競(jìng)品:云云網(wǎng)本站訊 6月...