成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

第26期:再談有序分組

企業動態
我們在討論有序分組時只研究了待分組集合的成員次序對分組運算可能的影響,但即然要考慮集合的有序性,那么結果集的成員次序是不是也有業務意義呢?

【數據蔣堂】第26期:再談有序分組

細心的讀者可能會發現,我們在討論有序分組時只研究了待分組集合的成員次序對分組運算可能的影響,但即然要考慮集合的有序性,那么結果集的成員次序是不是也有業務意義呢?

確實有意義,不過重要程度不如原集有序性。

分組結果集的有序性有兩個方面,一是這些分組子集以什么次序返回,二是分組子集的成員是什么次序構成的。

在考慮有序集合的等值分組運算時,我們認為在缺省狀態下分組子集保持原序最為合理,即每個分組子集成員***次在原集中出現的次序。這個原因在于:其它次序(比如按分組字段值)可以針對結果集再排序而獲得,而原序很可能在分組完成后就丟失了,或者至少再獲得會比較困難。

比如我們要統計一本教科書中單詞的重復次數,這是個簡單的等值分組運算,缺省的結果集應當是以新單詞在書中出現的先后次序為序的,這個次序是有業務意義的,向學生講授這本書時可以按該次序讓學生預習生詞。而這個次序如果不是在分組運算后返回,就會很難獲得了。需要給每個單詞人為增加一個在書中出現的次序號,分組時同時把次序號的最小值也統計出來,然后再按這個值排序,***又丟棄這個值。運算過程繁瑣且效率低。

對位分組和枚舉分組的結果集次序,顯然應當與基準集合一致。而有序分組的結果集次序,則顯然按每個分組產生的次序最為合理。

基于無序集合的SQL沒有約定分組結果集的次序,返回結果集就不能保證原序了。在實踐上,數據庫一般是采用HASH方法來實現分組的,這時結果集的次序常常是HASH值的次序,而HASH值次序毫無業務意義,在關心次序時就還需要再排序,而為了獲得排序依據就要象前面例子中說的那樣在原集中新增序號信息,并參與到分組運算中,麻煩且低效。還有的數據庫是用排序來做分組,結果集的次序就是分組字段(表達式)的次序,這個次序有一定業務意義了,但想還原出原序也不容易。

我們前面說過,SQL中用LEFT JOIN的方法可以實現出對位和枚舉分組的效果,但無論是HASH方法還是排序方法,結果集都會喪失基準集合的次序。而對位和枚舉分組的結果集次序又是非常必要的,想通過再排序來獲得這個次序,需要在基準集合中就要維護個次序號,這會使得本來簡單的單值成員集合變成多字段的記錄集合,而且當基準集合需要插入/刪除成員時還要繼續維護序號會是個很麻煩的事情,被改動成員后面的成員序號都要調整。所以SQL實現對位和枚舉分組是個很繁瑣的事情。

至于子集成員的次序,原則上也應當缺省保持原序,也就是在原集合中的次序。不過,它是否有意義取決于后續要執行的動作。

比如SQL就完全不關心這個次序,SQL在分組后會強制聚合,而且只有SUMM/COUNT這些運算結果與執行次序無關的常規聚合運算,分組子集的成員次序就沒有意義了。

但有些非常規聚合運算可能和執行次序有關,比如用登錄日志(日志缺省都是按事件發生時刻有序的)列出每個用戶的***兩次登錄的時間間隔,就是按用戶分組后取出分組子集的***兩條記錄計算時間差,這時就會關心子集成員的次序了。不過,這已經是聚合運算的范疇了,我們將在后面的文章中再詳細討論。

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2017-10-09 22:33:56

SQL等值分組有序分組

2017-09-13 08:45:33

遍歷SQL運算

2017-12-26 15:33:24

JOINSQL運算

2017-09-27 08:25:35

SQL等值分組運算

2018-03-08 11:13:28

AWSAI云服務

2009-02-18 09:08:46

2011-09-01 15:45:15

SSL證書網絡·安全技術周刊

2016-07-05 14:49:09

人力資源互聯網+V課堂

2013-01-21 13:41:59

IBMdW

2014-06-25 10:24:01

網絡安全周刊

2017-09-05 22:34:24

遍歷SQL運算

2018-01-18 20:47:18

CPU數據線程

2018-01-24 07:45:51

數據倍增分段列存

2017-11-08 06:18:43

JOINSQL運算

2014-02-18 15:32:12

移動技術半月刊

2018-02-06 23:30:07

文件存儲數據

2017-05-25 08:56:22

硬盤性能特征

2017-11-15 06:36:25

JOINSQL運算

2017-12-10 22:42:50

JOINSQL運算

2017-12-12 22:48:21

JOIN維度運算
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品在线| 亚洲免费在线视频 | 国产在线91| 欧美国产日韩精品 | 中文字幕亚洲无线 | 成人精品视频 | 国产精品一区二区三区免费观看 | 国产精品视频久久 | 国产精品二区三区在线观看 | www国产成人免费观看视频 | 91精品国产综合久久久动漫日韩 | av网站在线免费观看 | 在线激情视频 | 成人在线精品视频 | 天堂中文资源在线 | 欧洲一级毛片 | 亚洲视频免费在线观看 | 怡红院免费的全部视频 | 欧美xxxx网站 | 久草.com| 美女视频一区 | 91成人精品 | 综合色婷婷 | 国产有码| 91热在线| 久久精品一区二区 | 中文字幕在线精品 | 黄色在线观看国产 | 亚洲成年人免费网站 | 精品一区国产 | 天天爽一爽| 天堂色| 青青草华人在线视频 | 国产亚洲精品精品国产亚洲综合 | 欧美大片在线观看 | 日本黄色大片免费 | 亚洲视频观看 | 亚洲精品欧美精品 | 免费成人av网站 | 最近日韩中文字幕 | 欧美成人精品 |