SQL MIN的問題,透過圖書和論文來找解法和答案更準確安心。 我們找到下列各種有用的問答集和懶人包

SQL MIN的問題,我們搜遍了碩博士論文和台灣出版的書籍,推薦Shi YunhuaChen HaoRao Bing寫的 Oracle Exadata性能優化 和衚衕夫的 MySQL 8從零開始學(視頻教學版)都 可以從中找到所需的評價。

這兩本書分別來自清華大學 和清華大學所出版 。

國立清華大學 社群網路與人智計算國際博士學程 石維寬、張原豪所指導 唐 吉的 基於非揮發性記憶儲存系統壽命提升之高效能 索引管理策略 (2021),提出SQL MIN關鍵因素是什麼,來自於貯存、固態硬盤、記憶、貯存。

而第二篇論文國立陽明交通大學 網路工程研究所 林一平所指導 張彧豪的 IoTtalk AA 子系統與帳號子系統設計與實作 (2021),提出因為有 物聯網、消息隊列遙測傳輸、存取控制、開放授權的重點而找出了 SQL MIN的解答。

接下來讓我們看這些論文和書籍都說些什麼吧:

除了SQL MIN,大家也想知道這些:

Oracle Exadata性能優化

為了解決SQL MIN的問題,作者Shi YunhuaChen HaoRao Bing 這樣論述:

本書適用于資料庫管理員、資料庫開發者、系統架構師、資料庫愛好者。   本書假定讀者已經熟悉Oracle資料庫,所以沒有詳細解釋Oracle資料庫的工作原理,除非資料庫涉及到Exadata相關的特性。 石雲華 2005年畢業于西安交通大學,一直從事Oracle資料庫協力廠商運維服務工作,擁有十餘年電信運營商、保險公司、稅務機構核心系統Oracle資料庫運維經驗。現就職於北京海天起點技術服務股份有限公司,擔任Oracle資料庫專家組成員,Exadata部門負責人,持有11gOCM、Exadata、Goldengate等職業證書,擅長於Oracle/Goldengate/Exad

ata方面的故障診斷及疑難問題處理。 陳浩 2010年起從事資料庫方面的工作,工作內容涉及資料庫實施,管理,運維,近幾年專注Oracle Exadata一體機的客戶服務工作。服務客戶有電信行業,電力行業,社保行業,金融行業,製造業等。現就職於北京海天起點技術服務股份有限公司,負責 Exadata部門的軟體技術支援工作。持有11gOCM、Exadata、Goldengate等相關證書,擅長於Oracle資料庫,Exadata 等方面的實施,管理,運維等工作。 饒冰 2000—2004年任職於oracle公司培訓部和服務部,2004年加入北京海天起點技術服務有限公司,任職公司cto。具備十多年

oracle相關產品的實施及維護經驗,技術深厚。   第1章智慧掃描 1.1什麼是智慧掃描 1.1.1行過濾 1.1.2列映射 1.1.3布隆過濾 1.1.4函數過濾 1.2智慧掃描前提條件 1.2.1前提條件 1.2.2滿足條件但不觸發智慧掃描 1.3如何確定正在發生智慧掃描 1.3.1執行計畫中出現全掃描並不代表已經智慧掃描 1.3.2如何確認智慧掃描已經工作 1.4串列直接路徑演算法 1.4.1_small_table_threshold參數 1.4.2_very_large_object_threshold參數 1.4.3串列Direct Path Read演算法

1.4.4_direct_read_decision_statistics_driven參數 1.5引導SQL語句使用智慧掃描 1.6診斷智慧掃描錯誤結果集 1.6.1智慧掃描流程圖 1.6.2智慧掃描錯誤結果集的診斷 1.7診斷智慧掃描性能問題 1.7.1智慧掃描性能問題常見原因 1.7.2智慧掃描性能問題診斷工具 第2章存儲索引 2.1存儲索引工作原理 2.2檢測SQL語句是否利用存儲索引 2.3列資料分佈對存儲索引的影響 2.4禁用存儲索引特性 2.5跟蹤存儲索引 2.6存儲索引特性增強 2.6.1存儲索引重定位 2.6.2優化MIN()和MAX()函數 2.7存儲索引不工作場景 2.

7.1_kcfis_storageidx_disabled參數 2.7.2_smu_debug_mode參數 2.7.3長事務 2.7.4存儲索引超過8個欄位   第3章Exadata Smart FlashLog 3.1FlashLog工作原理 3.2管理FlashLog 3.2.1FlashLog日常管理 3.2.2關閉FlashLog特性 3.3FlashLog診斷 3.4監控FlashLog性能 3.4.1FlashLog性能指標 3.4.2FlashLog性能分析 第4章Exadata FlashCache 4.1Exadata上PCIE快閃記憶體卡變遷史 4.1.1X2系列F2

0卡 4.1.2X3系列F40卡 4.1.3X4系列F80卡 4.1.4X5系列F160卡 4.1.5X6系列F320卡 4.1.6X7系列F640卡 4.2Exadata上PCIE快閃記憶體卡的不同用途 4.3Exadata FlashCache原理 4.3.1針對大表或智慧掃描資料塊的緩存 4.3.2哪些資料塊會緩存到FlashCache中 4.3.3手動將對象keep在FlashCache中 4.3.4FlashCache keep屬性值自動失效 4.3.5FlashCache(writethrough模式)IO請求 4.3.6設置Griddisk的Cache策略 4.4FlashC

ache壓縮特性 4.4.1FlashCache壓縮特性需求 4.4.2FlashCache壓縮內部原理 4.4.3FlashCache壓縮特性的開啟與關閉 4.5FlashCache writeback模式 4.5.1為什麼開啟FlashCache的writeback模式 4.5.2FlashCache writeback模式需求 4.5.3FlashCache writeback模式IO請求 4.5.4writeback與writethrough模式切換 4.5.5writeback模式的flush操作 4.5.6直接路徑寫入對writeback模式的影響 4.6監控Fla

shCache性能 4.6.1flashcachecontent指標 4.6.2確認FlashCache的命中率 4.6.3FlashCache內容分析工具 4.6.4某個資料庫佔用的FlashCache大小 第5章混合列壓縮 5.1資料壓縮原理 5.1.1OLTP壓縮原理 5.1.2混合列壓縮原理與範圍 5.2混合列壓縮表解壓縮 5.3DML操作對混合列壓縮表的影響 5.4併發操作對混合列壓縮表的影響 5.5混合列壓縮建議 第6章IO資源管理 6.1IORM概要 6.2IO調度對比 6.3IORM目標模式 6.4IORM實施分類 6.4.1InterDatabase類型 6.4.2In

traDatabase類型 6.4.3Category類型 6.4.4Mixed類型 6.5監控IORM性能 6.5.1收集IORM配置資訊 6.5.2metric_iorm.pl腳本 第7章磁片擦洗特性 7.1“自動磁片擦洗和修復”特性需求 7.2自動磁片擦洗和修復特性對IO的影響 7.3自我調整的磁片擦洗調度特性 7.4“自動磁片擦洗和修復”特性增強 7.5“ASM磁片擦洗”特性 第8章Exadata優化誤區 8.1Exadata上是否需要索引 8.2Exadata上開啟並行 8.3Exadata上SGA設置 8.4Exadata上是否需要分區 8.5Exadata上的SQL是否需要

優化 第9章等待事件與性能指標 9.1Exadata等待事件 9.1.1cell smart table scan和cell smart index scan等待事件 9.1.2cell single block physical read等待事件 9.1.3cell multiblock physical read等待事件 9.1.4cell list of blocks physical read等待事件 9.2監控性能指標 9.2.1指標類型 9.2.2存儲節點相關指標 9.2.3Celldisk相關指標 9.2.4FlashCache相關指標 9.2.5FlashLog相關指標 9.

2.6Smart IO相關指標 9.2.7資源整合相關指標 第10章Exadata優化案例 10.1案例1(FlashCache writeback因素) 10.2案例2(FlashCache資源使用不均因素) 10.3案例3(IO回應延時) 10.4案例4(網路因素) 10.5案例5(智慧掃描因素) 10.6案例6(綜合因素) 10.7案例7(智慧掃描引發性能問題) 10.8案例8(整合環境引發性能問題) 10.9案例9(FlashCache管理缺陷) 結束語   Exadata是Oracle公司跨時代的一款產品。運行在Exadata架構上的Oracle資料庫,其整體

性能比運行在傳統架構上的Oracle資料庫高出十幾倍,在一些特殊的業務場景,其性能表現還可以更加優秀。 有人可能會說,Exadata架構上內置了Infiniband交換機,同時在存儲底層使用了PCIE快閃記憶體卡,與傳統的SAN存儲環境相比,其IO頻寬提升了好幾倍,性能當然更加優秀了。沒錯,但這僅僅是Exadata架構性能提升的一個小小的因素而已。 目前,國內已經有很多企業紛紛效仿Exadata架構,迅速推出了自己的資料庫一體機產品,但這種效仿僅僅是硬體架構層面的模仿,對於Exadata的核心技術還是沒辦法模仿的。 Exadata上的Oracle資料庫之所以運行速度這麼快,並不是它的硬

體有多麼好(其實它的硬體就是一堆PC伺服器而已,單純就硬體的運算能力進行對比,它就無法與IBM小型機抗衡),主要在於它有獨特的核心技術。那麼Exadata的核心技術是什麼呢?核心技術就是存儲管理軟體層面上的特性,如智慧掃描、FlashCache等。 一年前,在筆者編寫的第一本Exadata專著《Exadata實施運維指南》中,僅僅涉及了Exadata的刷機安裝、管理工具、硬體更換、元件升級這幾部分內容。這一方面是由於圖書篇幅的限制,另一方面主要因為筆者認為Exadata軟體特性才是Exadata架構的核心,有必要把這部分內容單獨拿出來深入地進行講解。 本書就帶領大家步入Exadata的軟體

世界,瞭解Exadata的核心特性。只有真正理解了這些核心特性,才能更好地進行Exadata優化工作。 由於Oracle公司不可能公開Exadata原始程式碼,Exadata架構中很多軟體特性的具體實現演算法是封閉的,外部人員基本上不可能接觸到這些細節的技術資訊。在本書中,有些軟體特性的底層實現原理是個人推測的,這就難免存在一些疏漏,有待讀者指出並修改,也希望大家能回饋相關意見,使本書得到更好的修編、改進。 致謝 首先,感謝北京海天起點技術服務股份有限公司,沒有這樣的一個平臺,我們可能連接觸Exadata的機會都沒有,自然也就不可能有本書的出版。 其次,感謝饒冰、陳浩和我一起合力完成了本

書;感謝劉文建、王富貴在我們遇到Exadata硬體方面的故障時,提供的各種思路與幫助;同時感謝我的其他同事在本書的寫作過程中給予的很大幫助。 最後,感謝清華大學出版社的各位編輯老師為本書的出版所做的細緻入微的工作,特別感謝盛東亮老師,他在本書的寫作過程中多次提出修改建議。     編著者2019年11月  

SQL MIN進入發燒排行的影片

การใช้ฟังก์ชันสรุปข้อมูลจากหลาย ๆ แถว เช่น หาจำนวนแถวข้อมูล ผลรวมของยอดขาย หาค่าเฉลี่ย หาค่าสูงสุด ค่าต่ำสุด
ดาวน์โหลด PostgreSQL script ไฟล์ที่ใช้ในคลิปได้ที่ ► http://bit.ly/2G3ekWX
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอน PostgreSQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGi_NqmIu43B-PsxA0wtnyH
สอน MySQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFmJDsZipFCrY6L-0RrBYLT
สอน Microsoft SQL Server 2012, 2014, 2016, 2017 ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH8gYuxpp-jqu5Blc7KbQVn
สอน SQLite ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHjYJA4pfG38M5BcrWKf5s2
สอน SQL สำหรับ Data Science ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGq8M6HO8xrpkaRhvEBsQhw
การเชื่อมต่อกับฐานข้อมูล (SQL Server, MySQL, SQLite) ด้วย Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
การใช้ Excel ในการทำงานร่วมกับกับฐานข้อมูล (SQL Server, MySQL, Access) ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGA2sSqNRSXlw0OYuCfDwYk
#prasertcbs_SQL #prasertcbs #prasertcbs_PostgreSQL

基於非揮發性記憶儲存系統壽命提升之高效能 索引管理策略

為了解決SQL MIN的問題,作者唐 吉 這樣論述:

近年來非揮發性記憶體已逐漸成熟,而其良好的特性(如:高儲存密度、低靜態功耗等)為大數據儲存系統開闢了新的可能性。然而,非揮發性記憶體的耐久度與傳統記憶體相比十分有限,甚至持續惡化,因此利用磨損平衡技術來增加非揮發性記憶體的壽命已成為非揮發性存儲系統設計中的一個主要問題。更糟的是,由於嵌入式系統的資料管理系統通常使用索引方案來維護小數據,這使得非揮發性記憶體的耐久度問題更加嚴重;也就是說非揮發性記憶體的壽命在嵌入式系統中很快就會耗盡。因此,許多先前的文獻著重於重新思考基於非揮發性記憶體的系統上的索引和資料管理方案。而先前多數的研究主要集中在減少記憶體和儲存裝置中的寫入次數及降低寫入放大問題。不

幸的是,僅考慮寫入次數並無法有效延長非揮發性記憶體的使用壽命,因為這樣的解決方案無法在設備中均勻分配寫入流量。基於這樣的觀察,本研究為非揮發性記憶體和固態硬碟系統提出了兩種替代索引方案,分別為waB+tree 以及waLSM-tree。其中waB+tree 的設計考慮了B+-tree 結構內每個節點的更新頻率,從而將寫入流量均勻地分散到非揮發性記憶體的單元中。另一方面,waLSM 則考慮LSM 樹中的每個級別之間的不同數據溫度,進而在整個固態硬碟中均勻擦除所有塊。根據我們的實驗結果,本研究所提出的索引方案可有效提升裝置的耐久度,進而延長裝置的壽命

MySQL 8從零開始學(視頻教學版)

為了解決SQL MIN的問題,作者衚衕夫 這樣論述:

本書內容主要包括My SQL的安裝與配置、資料庫的創建、資料表的創建、資料類型和運運算元、資料表的操作(插入、更新與刪除資料)、索引、視圖、查詢數據、My SQL函數、存儲過程和函數、觸發器、使用者管理、資料備份與還原、My SQL日誌、性能優化。   最後通過兩個綜合案例的資料庫設計進一步講述My SQL在實際工作中的應用,重點介紹My SQL的安裝與配置、資料類型和運運算元以及資料表的操作。本書注重實戰操作,幫助讀者循序漸進地掌握My SQL中的各項技術。   本書共有400個實例和14個綜合案例,還有大量的經典習題。隨書贈送了近20小時培訓班形式的視頻教學錄影,詳細講解書中每一個知識點和

每一個資料庫操作的方法和技巧。同時還提供本書所有例子的原始程式碼,讀者可以直接查看和調用。   本書適合My SQL資料庫初學者、My SQL資料庫開發人員和My SQL資料庫管理員學習,同時也能作為高等院校相關專業師生的教學用書。 胡同夫,從事多年網站前端開發和資料庫管理工作。精通多種程式設計語言和關係型數據庫管理,具有多年實戰開發經驗,對My SQL有深入研究。 第1章  MySQL的安裝與配置 1 1.1  在Windows平臺下安裝與配置MySQL 8.0 1 1.1.1  安裝MySQL 8.0 1 1.1.2  配置MySQL 8.0 5 1

.2  啟動服務並登錄MySQL資料庫 9 1.2.1  啟動MySQL服務 9 1.2.2  登錄MySQL資料庫 10 1.2.3  配置Path變數 11 1.3  MySQL常用圖形管理工具 13 1.4  在Linux平臺下安裝與配置MySQL 8.0 14 1.4.1  Linux作業系統下的MySQL版本介紹 14 1.4.2  安裝和配置MySQL的RPM包 15 1.4.3  安裝和配置MySQL的源碼包 18 1.5  專家解惑 19 1.6  經典習題 19 第2章  操作資料庫和資料表 20 2.1  創建資料庫 20 2.2  刪除資料庫 22 2.3  創建資料表

22 2.3.1  創建表的語法形式 22 2.3.2  使用主鍵約束 24 2.3.3  使用外鍵約束 25 2.3.4  使用非空約束 26 2.3.5  使用唯一性約束 27 2.3.6  使用默認約束 27 2.3.7  設置表的屬性值自動增加 28 2.4  查看資料表結構 29 2.4.1  查看表基本結構語句DESCRIBE 29 2.4.2  查看表詳細結構語句SHOW CREATE TABLE 30 2.5  修改資料表 31 2.5.1  修改表名 31 2.5.2  修改欄位的資料類型 32 2.5.3  修改欄位名 33 2.5.4  添加欄位 34 2.5.5  刪

除欄位 36 2.5.6  修改欄位的排列位置 37 2.5.7  更改表的存儲引擎 38 2.5.8  刪除表的外鍵約束 39 2.6  刪除資料表 40 2.6.1  刪除沒有被關聯的表 41 2.6.2  刪除被其他表關聯的主表 41 2.7  MySQL 8.0的新特性1——默認字元集改為utf8mb4 43 2.8  MySQL 8.0的新特性2——自增變數的持久化 44 2.9  綜合案例——資料表的基本操作 46 2.10  專家解惑 54 2.11  經典習題 54 第3章  資料類型和運算子 56 3.1  MySQL資料類型介紹 56 3.1.1  整數類型 56 3.1

.2  浮點數類型和定點數類型 58 3.1.3  日期與時間類型 60 3.1.4  文本字串類型 71 3.1.5  二進位字元串類型 76 3.2  如何選擇資料類型 79 3.3  常見運算子介紹 80 3.3.1  運算子概述 80 3.3.2  算術運算子 81 3.3.3  比較運算子 82 3.3.4  邏輯運算子 90 3.3.5  位運算子 92 3.3.6  運算子的優先順序 95 3.4  綜合案例——運算子的使用 96 3.5  專家解惑 98 3.6  經典習題 99 第4章  插入、更新與刪除資料 100 4.1  插入資料 100 4.1.1  為表的所有欄位

插入資料 100 4.1.2  為表的指定欄位插入資料 102 4.1.3  同時插入多條記錄 103 4.1.4  將查詢結果插入表中 105 4.2  更新資料 107 4.3  刪除資料 109 4.4  為表增加計算列 111 4.5  MySQL 8.0的新特性——DDL的原子化 112 4.6  綜合案例——記錄的插入、更新和刪除 113 4.7  專家解惑 117 4.8  經典習題 118 第5章  索引 119 5.1  索引簡介 119 5.1.1  索引的含義和特點 119 5.1.2  索引的分類 120 5.1.3  索引的設計原則 121 5.2  創建索引 12

1 5.2.1  創建表的時候創建索引 121 5.2.2  在已經存在的表上創建索引 127 5.3  刪除索引 134 5.4  MySQL 8.0的新特性1——支援降冪索引 136 5.5  MySQL 8.0的新特性2——統計長條圖 138 5.5.1  長條圖的優點 139 5.5.2  長條圖的基本操作 139 5.6  綜合案例——創建索引 141 5.7  專家解惑 143 5.8  經典習題 143 第6章  視圖 145 6.1  視圖概述 145 6.1.1  視圖的含義 145 6.1.2  視圖的作用 146 6.2  創建視圖 147 6.2.1  創建視圖的語法

形式 147 6.2.2  在單表上創建視圖 147 6.2.3  在多表上創建視圖 148 6.3  查看視圖 149 6.3.1  使用DESCRIBE語句查看視圖的基本資訊 149 6.3.2  使用SHOW TABLE STATUS語句查看視圖的基本資訊 150 6.3.3  使用SHOW CREATE VIEW語句查看視圖的詳細資訊 151 6.3.4  在views表中查看視圖的詳細資訊 152 6.4  修改視圖 153 6.4.1  使用CREATE OR REPLACE VIEW語句修改視圖 153 6.4.2  使用ALTER語句修改視圖 154 6.5  更新視圖 155

6.6  刪除視圖 158 6.7  綜合案例——視圖應用 158 6.8  專家解惑 166 6.9  經典習題 167 第7章  查詢資料 168 7.1  基本查詢語句 168 7.2  單表查詢 170 7.2.1  查詢所有欄位 171 7.2.2  查詢指定欄位 172 7.2.3  查詢指定記錄 173 7.2.4  帶IN關鍵字的查詢 175 7.2.5  帶BETWEEN AND的範圍查詢 176 7.2.6  帶LIKE的字元匹配查詢 178 7.2.7  查詢空值 179 7.2.8  帶AND的多條件查詢 181 7.2.9  帶OR的多條件查詢 182 7.2.1

0  查詢結果不重複 183 7.2.11  對查詢結果排序 184 7.2.12  分組查詢 188 7.2.13  使用LIMIT限制查詢結果的數量 193 7.3  使用集合函數查詢 194 7.3.1  COUNT()函數 194 7.3.2  SUM()函數 195 7.3.3  AVG()函數 196 7.3.4  MAX()函數 197 7.3.5  MIN()函數 198 7.4  連接查詢 199 7.4.1  內連接查詢 199 7.4.2  外連接查詢 202 7.4.3  複合條件連接查詢 204 7.5  子查詢 205 7.5.1  帶ANY、SOME關鍵字的子查詢

205 7.5.2  帶ALL關鍵字的子查詢 206 7.5.3  帶EXISTS關鍵字的子查詢 207 7.5.4  帶IN關鍵字的子查詢 208 7.5.5  帶比較運算子的子查詢 210 7.6  合併查詢結果 211 7.7  為表和欄位取別名 214 7.7.1  為表取別名 214 7.7.2  為欄位取別名 216 7.8  使用規則運算式查詢 217 7.8.1  查詢以特定字元或字串開頭的記錄 218 7.8.2  查詢以特定字元或字串結尾的記錄 219 7.8.3  用符號“.”來替代字串中的任意一個字元 219 7.8.4  使用“*”和“ ”匹配多個字元 220 7.

8.5  匹配指定字串 220 7.8.6  匹配指定字元中的任意一個 221 7.8.7  匹配指定字元以外的字元 222 7.8.8  使用{n,}或者{n,m}指定字串連續出現的次數 223 7.9  MySQL 8.0的新特性1——GROUP BY不再隱式排序 224 7.10  MySQL 8.0的新特性2——通用表運算式 226 7.11  綜合案例——資料表查詢操作 230 7.12  專家解惑 237 7.13  經典習題 237 第8章  MySQL函數 239 8.1  MySQL函數簡介 239 8.2  數學函數 240 8.3  字串函數 241 8.3.1  計算

字串字元數的函數和計算字串長度的函數 242 8.3.2  合併字串函數CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 242 8.3.3  替換字串的函數INSERT(s1,x,len,s2)和字母大小寫轉換函數 242 8.3.4  獲取指定長度的字串的函數LEFT(s,n)和RIGHT(s,n) 243 8.3.5  填補字元串的函數LPAD(s1,len,s2)和RPAD(s1,len,s2) 243 8.3.6  刪除空格的函數LTRIM(s)和RTRIM(s) 244 8.3.7  刪除指定字串的函數TRIM(s1 FROM s) 244 8.3.8  重

複生成字串的函數REPEAT(s,n) 244 8.3.9  空格函數SPACE(n)和替換函數REPLACE(s,s1,s2) 245 8.3.10  比較字串大小的函數STRCMP(s1,s2) 245 8.3.11  獲取子串的函數SUBSTRING(s,n,len)和MID(s,n,len) 245 8.3.12  匹配子串開始位置的函數 246 8.3.13  字串逆序的函數REVERSE(s) 247 8.3.14  返回指定位置的字串的函數 247 8.3.15  返回指定字串位置的函數FIELD(s,s1,s2,…) 247 8.3.16  返回子串位置的函數FIND_IN_S

ET(s1,s2) 248 8.3.17  選取字串的函數MAKE_SET(x,s1,s2,…) 248 8.4  日期和時間函數 249 8.4.1  獲取當前日期的函數和獲取當前時間的函數 249 8.4.2  獲取當前日期和時間的函數 250 8.4.3  UNIX時間戳記函數 250 8.4.4  返回UTC日期的函數和返回UTC時間的函數 251 8.4.5  獲取月份的函數MONTH(date)和MONTHNAME(date) 251 8.4.6  獲取星期的函數DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 252 8.4.7  獲取星期數的函數WEEK(d

)和WEEKOFYEAR(d) 253 8.4.8  獲取天數的函數DAYOFYEAR(d)和DAYOFMONTH(d) 254 8.4.9  獲取年份、季度、小時、分鐘和秒鐘的函數 254 8.4.10  獲取日期的指定值的函數EXTRACT(type FROM date) 255 8.4.11  時間和秒鐘轉換的函數 255 8.4.12  計算日期和時間的函數 256 8.4.13  將日期和時間格式化的函數 259 8.5  條件判斷函數 262 8.5.1  IF(expr,v1,v2)函數 262 8.5.2  IFNULL(v1,v2)函數 262 8.5.3  CASE函數 2

63 8.6  系統資訊函數 264 8.6.1  獲取MySQL版本號、連接數和資料庫名的函數 264 8.6.2  獲取用戶名的函數 266 8.6.3  獲取字串的字元集和排序方式的函數 266 8.6.4  獲取最後一個自動生成的ID值的函數 267 8.7  MySQL 8.0的新特性1——加密函數 268 8.7.1  加密函數MD5(str) 269 8.7.2  加密函數SHA(str) 269 8.7.3  加密函數SHA2(str, hash_length) 269 8.8  MySQL 8.0的新特性2——視窗函數 270 8.9  綜合案例——MySQL函數的使用 27

1 8.10  專家解惑 274 8.11  經典習題 275 第9章  存儲過程和函數 277 9.1  創建存儲過程和函數 277 9.1.1  創建存儲過程 278 9.1.2  創建存儲函數 280 9.1.3  變數的使用 281 9.1.4  定義條件和處理常式 282 9.1.5  游標的使用 285 9.1.6  流程控制的使用 286 9.2  調用存儲過程和函數 291 9.2.1  調用存儲過程 291 9.2.2  調用存儲函數 292 9.3  查看存儲過程和函數 292 9.3.1  使用SHOW STATUS語句查看存儲過程和函數的狀態 293 9.3.2  使

用SHOW CREATE語句查看存儲過程和函數的定義 293 9.3.3  從information_schema.Routines表中查看存儲過程和函數的資訊 294 9.4  修改存儲過程和函數 295 9.5  刪除存儲過程和函數 297 9.6  MySQL 8.0的新特性——全域變數的持久化 298 9.7  綜合案例——創建存儲過程和函數 299 9.8  專家解惑 302 9.9  經典習題 302 第10章  MySQL觸發器 303 10.1  創建觸發器 303 10.1.1  創建只有一個執行語句的觸發器 304 10.1.2  創建有多個執行語句的觸發器 304 10

.2  查看觸發器 307 10.2.1  使用SHOW TRIGGERS語句查看觸發器資訊 307 10.2.2  在triggers表中查看觸發器信息 309 10.3  觸發器的使用 310 10.4  刪除觸發器 311 10.5  綜合案例——觸發器的使用 312 10.6  專家解惑 314 10.7  經典習題 314 第11章  MySQL許可權與安全管理 315 11.1  許可權表 315 11.1.1  user表 315 11.1.2  db表 318 11.1.3  tables_priv表和columns_priv表 319 11.1.4  procs_priv表

320 11.2  帳戶管理 320 11.2.1  登錄和退出MySQL伺服器 321 11.2.2  新建普通用戶 322 11.2.3  刪除普通用戶 324 11.2.4  root使用者修改自己的密碼 325 11.2.5  root使用者修改普通使用者密碼 326 11.3  許可權管理 327 11.3.1  MySQL的各種許可權 327 11.3.2  授權 329 11.3.3  收回許可權 331 11.3.4  查看許可權 332 11.4  存取控制 333 11.4.1  連接核實階段 333 11.4.2  請求核實階段 333 11.5  提升安全性 334

11.5.1  AES 256加密 334 11.5.2  密碼到期更換策略 336 11.5.3  安全模式安裝 338 11.6  MySQL 8.0的新特性——管理角色 338 11.7  綜合案例——綜合管理用戶許可權 339 11.8  專家解惑 342 11.9  經典習題 342 第12章  資料備份與恢復 344 12.1  資料備份 344 12.1.1  使用MySQLdump命令備份 344 12.1.2  直接複製整個資料庫目錄 350 12.1.3  使用MySQLhotcopy工具快速備份 351 12.2  資料恢復 351 12.2.1  使用MySQL命令恢

復 351 12.2.2  直接複製到資料庫目錄 352 12.2.3  MySQLhotcopy快速恢復 353 12.3  資料庫遷移 353 12.3.1  相同版本的MySQL資料庫之間的遷移 353 12.3.2  不同版本的MySQL資料庫之間的遷移 354 12.3.3  不同資料庫之間的遷移 354 12.4  表的匯出和導入 354 12.4.1  使用SELECTI…NTO OUTFILE匯出文字檔 355 12.4.2  使用MySQLdump命令匯出文字檔 359 12.4.3  使用MySQL命令匯出文字檔 361 12.4.4  使用LOAD DATA INFILE

方式導入文字檔 364 12.4.5  使用MySQLimport命令導入文字檔 367 12.5  綜合案例——資料的備份與恢復 368 12.6  專家解惑 372 12.7  經典習題 373 第13章  MySQL日誌 374 13.1  日誌簡介 374 13.2  二進位日誌 375 13.2.1  啟動和設置二進位日誌 375 13.2.2  查看二進位日誌 376 13.2.3  刪除二進位日誌 378 13.2.4  使用二進位日誌恢復資料庫 380 13.2.5  暫時停止二進位日誌功能 380 13.3  錯誤日誌 381 13.3.1  啟動和設置錯誤日誌 381 1

3.3.2  查看錯誤日誌 381 13.3.3  刪除錯誤日誌 382 13.4  通用查詢日誌 383 13.4.1  啟動通用查詢日誌 383 13.4.2  查看通用查詢日誌 383 13.4.3  刪除通用查詢日誌 384 13.5  慢查詢日誌 384 13.5.1  啟動和設置慢查詢日誌 385 13.5.2  查看慢查詢日誌 385 13.5.3  刪除慢查詢日誌 386 13.6  MySQL 8.0的新特性——日誌分類更詳細 386 13.7  綜合案例——MySQL日誌的綜合管理 386 13.8  專家解惑 392 13.9  經典習題 393 第14章  性能優化

394 14.1  優化簡介 394 14.2  優化查詢 395 14.2.1  分析查詢語句 395 14.2.2  索引對查詢速度的影響 398 14.2.3  使用索引查詢 399 14.2.4  優化子查詢 402 14.3  優化資料庫結構 402 14.3.1  將欄位很多的表分解成多個表 403 14.3.2  增加中間表 404 14.3.3  增加冗餘欄位 405 14.3.4  優化插入記錄的速度 406 14.3.5  分析表、檢查表和優化表 407 14.4  優化MySQL伺服器 409 14.4.1  優化伺服器硬體 409 14.4.2  優化MySQL的參數

410 14.5  臨時表性能優化 411 14.6  伺服器語句超時處理 413 14.7  創建全域通用表空間 414 14.8  MySQL 8.0的新特性1——支援不可見索引 414 14.9  MySQL 8.0的新特性2——增加資源組 416 14.10  綜合案例——全面優化MySQL伺服器 418 14.11  專家解惑 420 14.12  經典習題 421 第15章  綜合專案1——論壇管理系統資料庫設計 422 15.1  系統概述 422 15.2  系統功能 423 15.3  資料庫設計和實現 424 15.3.1  設計方案圖表 424 15.3.2  設計表

426 15.3.3  設計索引 429 15.3.4  設計檢視 430 15.3.5  設計觸發器 431 第16章  綜合專案2——新聞發佈系統資料庫設計 433 16.1  系統概述 433 16.2  系統功能 434 16.3  資料庫設計和實現 435 16.3.1  設計表 435 16.3.2  設計索引 439 16.3.3  設計檢視 440 16.3.4  設計觸發器 441

IoTtalk AA 子系統與帳號子系統設計與實作

為了解決SQL MIN的問題,作者張彧豪 這樣論述:

近年來,物聯網已經為我們的生活帶來極大的便利性。然而,伴隨便利性所產生的安全性問題也困擾著我們,如何在提升便利性的同時也保證其安全性是當前物聯網相關產業開發者的一大課題。對此,我們開發了Authentication and Authorization子系統 (AA 子系統)。AA子系統是一個實作在 IoTtalk 物聯網平台中的子系統。該子系統管理每一個與 IoTtalk 連線的物聯網裝置所使用的安全性資訊及權限,在其幫助下,每個物聯網裝置都會有一組連線時須使用的安全性資訊,稱之為「Connection Credential」。IoTtalk 也透過 AA 子系統為不同的 IoT devic

e 制定 permissions,稱之為「Permission Rules」。以AA子系統管理的 connection credentials 及 permission rules 並配合「Mosquitto」內建的存取控制功能,可以確保惡意的物聯網裝置不影響正常的物聯網裝置並同時保證使用中的裝置不會互相干擾。同時,我們利用「OAuth 2.0」與「OpenID Connect」開發集中式帳號子系統,提供使用者以單一帳號密碼即可存取各項以 IoTtalk 為基礎開發的物聯網服務。在本論文中,我們會描述AA子系統是如何管理物聯網裝置使用的安全性資訊、權限以及集中式帳號系統的實作細節。