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

SQL EXISTS的問題,我們搜遍了碩博士論文和台灣出版的書籍,推薦(意)瑪律•科盧梭寫的 DAX權威指南:運用Power BI、SQL Server Analysis Services和Excel實現商業智慧分析(第2版) 和衚衕夫的 MySQL 8從零開始學(視頻教學版)都 可以從中找到所需的評價。

另外網站To TOP or not to TOP an EXISTS - SQL in the Wild也說明:SQL Server Execution Times: CPU time = 0 ms, elapsed time = 0 ms. Exists. Table 'PrimaryTable_Medium'. Scan count 1, logical reads 2, physical ...

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

輔仁大學 資訊工程學系碩士班 葉佐任所指導 游勝捷的 實現雲端系統中程式之調節式優先執行 (2019),提出SQL EXISTS關鍵因素是什麼,來自於Hadoop、YARN、優先權、雲端運算。

而第二篇論文國立中央大學 資訊工程學系 梁德容、張欽圳所指導 烏莉雅的 基於網頁 MCES 分析系統的分析過程加速 (2019),提出因為有 加速、Python 處理時間、Django 網站、可擴展性、平行化的重點而找出了 SQL EXISTS的解答。

最後網站SQL学习(六):not exists用法 - CSDN博客則補充:not exists是sql中的一个语法,常用在子查询和主查询之间,用于条件判断,根据一个条件返回一个布尔值,从而来确定下一步操作如何进行,not exists ...

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

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

DAX權威指南:運用Power BI、SQL Server Analysis Services和Excel實現商業智慧分析(第2版)

為了解決SQL EXISTS的問題,作者(意)瑪律•科盧梭 這樣論述:

《DAX權威指南》是微軟DAX語言在商業智慧分析、資料建模和資料分析方面的指南。   通過對《DAX權威指南》的學習,你將瞭解如何使用DAX語言進行商業智慧分析、資料建模和資料分析;你將掌握從基礎資料表函數到高級代碼,以及模型優化的所有內容;你將確切瞭解在運行DAX運算式時,引擎內部所執行的操作,並利用這些知識編寫可以高速運行且健壯的代碼。   《DAX權威指南》第2版的重點內容包括基於免費的Power BI Desktop來構建和運行示例,幫助你在Power Bl、SQL Server Analysis Services或Excel中充分利用強大的變數(VAR)語法。你想要使用DAX所有的強

大功能嗎?那麼這本未進行任何刪減、深入淺出的著作正是你所需要的。   《DAX權威指南》適合Excel高級使用者、商業智慧分析人員、使用DAX和微軟分析工具的專業人士。 Marco Russo和Alberto Ferrari SQLBI.COM的創始人。他們定期發佈關於微軟Power BI、Power Pivot、DAX和SQL Server的文章。自2009年測試版的Power Pivot發佈以來,SQLBI.COM成了DAX相關文章和教程的主要來源之一。他們都為商業智慧(Business Intelligence,BI)解決方案提供諮詢和指導,並精通與BI相關的微軟技術。

他們編寫了很多關於Power Pivot、DAX和Analysis Services的文章、圖書。   高飛   資料分析師,BI總監 2015年接觸Power Pivot,被DAX語言的強大和靈活所吸引。 2016年3月創建了面向Power BI用戶的微信公眾號“Power BI極客”,並更新至今。 2019年上線同名網站PowerBIGeek.com,致力於打造一個綜合性的Power BI中文學習網站。   現從事技術分享,企業BI專案實施和培訓工作。 微軟Power BI最有價值專家(MVP),Power BI視覺化大賽評委,Excel Home論壇版主。 第1章 D

AX是什麼 1 理解資料模型 1 理解關係的方向 3 給Excel用戶的DAX學習建議 5 儲存格和智慧表格 5 Excel函數和DAX:兩種函數式語言 7 使用反覆運算器 7 DAX相關理論 8 給SQL開發人員的DAX學習建議 8 處理關係 9 DAX是函數式語言 9 DAX是一種程式設計語言和查詢語言 10 DAX和SQL中的子查詢與條件陳述式 10 給MDX開發者的DAX學習建議 11 多維模型和表格模型 12 DAX是一種程式設計語言和查詢語言 12 層級結構 12 葉級計算 14 給Power BI用戶的DAX學習建議 14 第2章 DAX介紹 15 理解DAX計算 15 DAX

的資料類型 17 DAX運算子 20 表構造器 22 條件陳述式 22 理解計算列和度量值 23 計算列 23 度量值 24 正確選擇計算列和度量值 27 變數 28 處理DAX運算式中的錯誤 29 轉換錯誤 29 算數運算錯誤 30 空值或缺失值 30 截獲錯誤 32 生成錯誤 35 規範化DAX代碼 36 彙總函式和反覆運算函數介紹 39 認識常用的DAX函數 42 彙總函式 42 邏輯函數 43 資訊函數 45 數學函數 45 三角函數 46 文本函數 46 轉換函數 48 日期和時間函數 48 關係函數 49 結論 51 第3章 使用基礎資料表函數 52 表函數介紹 52 EVALU

ATE函數語法介紹 54 理解FILTER函數 56 ALL和ALLEXCEPT函數介紹 58 理解VALUES、DISTINCT函數和空行 63 將表用作作為標量值 68 ALLSELECTED函數介紹 70 結論 72 第4章 理解計值上下文 73 計值上下文介紹 74 理解篩選上下文 74 理解行上下文 79 測試你對計值上下文的理解 81 在計算列中使用SUM函數 81 在度量值中使用列 83 使用反覆運算函數創建行上下文 83 嵌套多個表的行上下文 84 同一個表上的多層嵌套行上下文 85 使用EARLIER函數 90 理解FILTER、ALL函數和上下文交互 91 使用多個表 9

4 行上下文和關係 95 篩選上下文和關係 98 在篩選上下文中使用DISTINCT和SUMMARIZE函數 102 結論 105 第5章 理解CALCULATE和CALCULATETABLE函數 107 CALCULATE和CALCULATETABLE函數介紹 107 創建篩選上下文 108 CALCULATE函數介紹 111 使用CALCULATE函數計算百分比 116 KEEPFILTERS函數介紹 126 篩選單列 130 篩選複雜條件 131 CALCULATE計值順序 135 理解上下文轉換 139 行上下文和篩選上下文回顧 139 上下文轉換介紹 142 計算列中的上下文轉換

145 度量值中的上下文轉換 148 理解迴圈依賴 151 CALCULATE函數調節器 155 理解USERELATIONSHIP函數 155 理解CROSSFILTER函數 158 理解KEEPFILTERS函數 159 理解CALCULATE函數中的ALL函數 160 無參數的ALL和ALLSELECTED函數介紹 162 CALCULATE規則總結 163 第6章 變數 165 VAR語法介紹 165 變數是常數 167 理解變數的範圍 168 使用表作為變數 171 理解惰性計算 173 使用變數的常見模式 174 結論 176 第7章 反覆運算函數和CALCULATE函數的使用

177 反覆運算函數的使用 177 理解反覆運算的基數 178 在反覆運算函數中使用上下文轉換 180 CONCATENATEX函數的使用 184 返回表的反覆運算函數 186 使用反覆運算函數解決常見問題 189 計算平均和移動平均 189 RANKX函數的使用 192 改變計算的顆粒度 200 結論 204 第8章 時間智慧計算 205 時間智慧介紹 205 Power BI中的“自動日期/時間” 206 Excel Power Pivot中的自動日期列 207 Excel Power Pivot中的日期表範本 208 創建日期表 208 CALENDAR和CALENDARAUTO函數

的使用 209 多個日期表的使用 212 處理連接到與日期表的多個關係 212 處理多個日期表 214 理解基礎時間智慧計算 215 標記為日期表 219 基礎時間智慧函數介紹 221 計算年初至今、季度初至今和月初至今 222 計算平移後的週期平移 224 嵌套混合使用時間智慧函數 227 計算週期之間的差異 229 計算移動年度總計 231 為嵌套的時間智慧函數選擇正確的調用順序 232 理解半累加計算 234 使用LASTDATE和LASTNONBLANK函數 236 使用期初和期末餘額 241 理解高級時間智慧計算 245 理解累計至今區間 246 理解DATEADD函數 249 理解

FIRSTDATE、LASTDATE、FIRSTNONBLANK和 LASTNONBLANK函數 255 利用時間智慧函數進行鑽取 258 使用自訂日期表 258 基於周的時間智慧 259 自訂YTD、QTD和MTD 262 結論 264 第9章 計算組 265 計算組介紹 265 創建計算組 268 理解計算組 274 理解計算項的應用 277 理解計算組優先順序 285 在計算項中包含或排除度量值 289 理解橫向遞迴 292 使用最佳實踐 296 結論 296 第10章 使用篩選上下文 298 使用HASONEVALUE和SELECTEDVALUE函數 299 ISFILTERED和

ISCROSSFILTERED函數介紹 303 理解VALUES和FILTERS函數的區別 306 理解ALLEXCEPT和ALL/VALUES函數的區別 308 使用ALL函數避免上下文轉換 312 使用ISEMPTY函數 314 資料沿襲和TREATAS函數介紹 316 使用固化篩選器 320 結論 326 第11章 處理層級結構 328 計算層級占比 328 處理父/子層級結構 333 結論 344 第12章 使用表函數 345 使用CALCULATETABLE函數 345 動作表的函數 347 使用ADDCOLUMNS函數 348 使用SUMMARIZE函數 351 使用CROSS

JOIN函數 354 使用UNION函數 356 使用INTERSECT函數 360 使用EXCEPT函數 361 使用表作為篩選器 363 實現或(OR)條件 364 將銷售額的計算範圍縮小至首年客戶 367 計算新客戶 368 使用DETAILROWS函數複用表運算式 370 創建計算表 372 使用SELECTCOLUMNS函數 372 使用ROW函數創建靜態表 373 使用DATATABLE函數創建靜態表 374 使用GENERATESERIES函數 375 結論 376 第13章 編寫查詢 377 DAX Studio介紹 377 理解EVALUATE函數 378 EVALUATE

函數語法介紹 378 在DEFINE函數中使用VAR 379 在DEFINE函數中使用度量值 381 實現DAX查詢的常用模式 382 使用ROW函數測試度量值 382 使用SUMMARIZE函數 383 使用SUMMARIZECOLUMNS函數 385 使用TOPN函數 391 使用GENERATE和GENERATEALL函數 396 使用ISONORAFTER函數 399 使用ADDMISSINGITEMS函數 401 使用TOPNSKIP函數 402 使用GROUPBY函數 402 使用NATURALINNERJOIN和NATURALLEFTOUTERJOIN函數 405 使用SUBST

ITUTEWITHINDEX函數 407 使用SAMPLE函數 409 理解DAX查詢中的自動匹配(Auto-Exists)行為 410 結論 416 第14章 高級DAX原理 418 擴展表介紹 418 理解RELATED函數 422 在計算列中使用RELATED函數 424 理解表篩選器和列篩選器的區別 425 在度量值中使用表篩選器 428 理解活動關係 431 表的擴展行為和篩選行為的區別 433 擴展表中的上下文轉換 435 理解ALLSELECTED函數和影子篩選上下文 436 影子篩選上下文介紹 437 ALLSELECTED函數返回反覆運算的行 441 無參數的ALLSELE

CTED函數 443 ALL系列函數 443 ALL函數 445 ALLEXCEPT函數 446 ALLNOBLANKROW函數 446 ALLSELECTED函數 446 ALLCROSSFILTERED函數 446 理解資料沿襲 446 結論 449 第15章 高級關係 451 使用計算列創建物理關係 451 創建基於多列的關係 451 創建基於範圍的關係 453 使用計算列創建關係中的迴圈依賴問題 456 使用虛擬關係 459 在DAX中轉移篩選器 460 使用TREATAS函數轉移篩選器 462 使用INTERSECT函數轉移篩選器 463 使用FILTER函數轉移篩選器 464 使

用虛擬關係實現動態分組 465 理解DAX中的物理關係 468 使用雙向交叉篩選器 470 理解一對多關聯性 472 理解一對一關聯性 473 理解多對多關係 473 通過橋接表實現多對多關係 473 通過公共維度表實現多對多關係 479 使用MMR弱關係實現多對多關係 483 選擇正確的關係類型 485 管理資料顆粒度 486 管理關係中的歧義 490 理解活動關係中的歧義 492 解決非活動關係中的歧義 494 結論 496 第16章 DAX中的高級計算 497 計算兩個日期之間的工作日數量 497 同時展示預算資料和銷售資料 505 計算同店銷售額 508 對事件進行排序 514 根據

最新銷售日期計算上一年的銷售額 517 結論 522 第17章 DAX引擎 523 瞭解DAX引擎的架構 523 公式引擎介紹 524 存儲引擎介紹 525 VertiPaq(in-memory)存儲引擎介紹 526 DirectQuery存儲引擎介紹 527 理解資料刷新 527 理解VertiPaq存儲引擎 528 列式資料庫介紹 528 理解VertiPaq壓縮 531 理解值編碼 531 理解雜湊編碼 532 理解行程長度編碼(RLE) 533 理解再編碼 536 確定最佳排序順序 536 理解層級和關係 538 理解分段和分區 539 使用動態管理視圖 540 理解關係在Verti

Paq中的運用 542 物化介紹 545 聚合表介紹 547 為VertiPaq配置合適的硬體 549 是否可以自主選擇硬體 550 設置硬體優先順序 550 CPU型號 550 記憶體速度 552 內核數量 552 記憶體大小 552 硬碟I/O和分頁 553 硬體選擇的最佳實踐 553 結論 553 第18章 優化VertiPaq引擎 555 收集有關資料模型的資訊 555 反規範化 560 列基數 566 處理日期和時間列 567 計算列 570 使用布林類型的計算列優化複雜篩選器 572 計算列的處理 573 存儲合適的列 574 優化列存儲 577 列的拆分優化 577 優化大基數

列 578 禁用屬性層級結構 578 優化鑽取屬性 579 管理VertiPaq聚合表 579 結論 582 第19章 分析DAX查詢計畫 583 捕獲DAX查詢 583 DAX查詢計畫介紹 586 收集查詢計畫 587 邏輯查詢計畫介紹 587 物理查詢計畫介紹 588 存儲引擎查詢介紹 589 獲取配置資訊 590 使用DAX Studio 591 使用 SQL Server Profiler 594 讀懂VertiPaq存儲引擎查詢 597 xmSQL語法介紹 597 彙總函式 598 算數運算 600 篩選運算 600 Join運算子 602 批次處理事件中的臨時表和淺關係 603

理解掃描時間 605 理解DISTINCTCOUNT函數的內部行為 606 理解並行度和資料緩存 607 理解VertiPaq緩存 609 理解CallbackDataID函數 611 讀懂DirectQuery模式下的存儲引擎查詢 616 分析複合模型 617 在資料模型中使用聚合表 618 讀懂查詢計畫 620 結論 626 第20章 DAX優化 628 定義優化策略 629 確定要優化的單個DAX運算式 629 創建查詢副本 632 創建DAX查詢副本 632 使用DAX Studio創建查詢度量值 633 創建MDX查詢副本 635 分析執行時間和查詢計畫資訊 636 發現存儲引擎或

公式引擎中的性能瓶頸 639 修改並重新運行測試查詢 639 優化DAX運算式中的瓶頸 639 優化篩選條件 640 優化上下文轉換 644 優化IF條件 650 優化度量值中的IF函數 650 選擇IF函數還是DIVIDE函數 655 優化反覆運算函數中的IF函數 658 減少Callback DataID函數帶來的影響 661 優化嵌套的反覆運算函數 665 避免在表篩選器中使用DISTINCTCOUNT函數 671 使用變數避免重複計算 676 結語結論 681

SQL EXISTS進入發燒排行的影片

script สำหรับสร้างตาราง sales;


drop table if exists sales;

create table sales (
branch text,
dt date,
revenue int,
primary key (branch, dt)
);

insert into sales
select 'bangkok' branch, dt::date, (10000 + random() * 20000)::int revenue
from generate_series('2018-01-01'::date, '2019-12-31'::date, '1 day') dt
UNION
select 'phuket' branch, dt::date, (10000 + random() * 10000)::int revenue
from generate_series('2018-01-01'::date, '2019-12-31'::date, '1 day') dt
order by branch, dt;



ดาวน์โหลด PostgreSQL script ไฟล์ที่ใช้ในคลิปได้ที่ ► http://bit.ly/2mdDVmm

ดาวน์โหลด saturn database (saturn.tar) ได้ที่ ► http://bit.ly/2E2uY7a
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► 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 EXISTS的問題,作者游勝捷 這樣論述:

雲端運算(Cloud Computing) 和巨量資料(Big Data)成為近年來越來越重要的議題,就和一般的電腦軟體一樣雲端運算必須運行於作業系統之上,Hadoop是一個開放原始碼受到廣泛應用和具有高延展性的雲端作業系統。在作業系統中優先權是一個重要的議題,依照使用情境和使用者的不同總有一些工作,我們希望作業系統可以幫我們早點完成,這種需求到了雲端作業系統依然存在。在本論文中我們透過修改Hadoop的資源管理系統YARN之中的Resource Manager來實現Hadoop的優先權系統,由於在YARN之中的資源調度器(Sched-uler) 有FIFO,CS和FS三種,我們避開直接修改

調度器來達到優先權的功能,在我們的修改系統中可以對所有預設和未來的調度器都提供優先權的機制。在本研究的實驗中我們模擬了Hadoop系統同時執行多個應用程式的情境,其中有些是高優先權有些是低優先權應用程式,在我們的實驗中發現高優先權應用程式最高可以有74.04%的執行時間時間加快。

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

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

本書內容主要包括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

基於網頁 MCES 分析系統的分析過程加速

為了解決SQL EXISTS的問題,作者烏莉雅 這樣論述:

現今,幾乎每一家公司都利用科技來幫助提升他們的利潤。Micro Crack Estimator System (MCES) 是一種能幫助管理者得知一周內生產線上哪台機器良率最低導致產生最多破片的軟體設計。MCES是一種網站平台,因此使用者可以使用它進行遠端分析。但是,目前所碰上的問題是網頁處理時間太耗時,舉例來說: MCES網站在分析第一周數據時花費了9.09分鐘,然而到了第六十五周更是需要花費16.29分鐘才能分析完成。這種長時間分析的等待時間會導致使用者失去能立即查看分析結果的樂趣。利用改進MCES分析功能中的某些部份,以減少Python程式的處理時間。在本研究中,嘗試了九種方法去改進它

,而其中的兩種方法更是有顯著的加速效果。像是以第六十五周的結果來比較,處理時間從原本的16.29分鐘大幅的減少到1.88分鐘。原始結果與加速分析結果之間的準確度差異僅有0.2%。根據Mann-Kendall test, 由於網站處理時間並不會隨著資料量的大小上升或下降,因此加速版本比原始版本更具有可擴展性。