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

如何最有效地編寫SQL

數據庫
我們的查詢也是生成更高效的數據庫操作的第一步,它考慮的是批處理,而不是逐行思考。在進行數據庫操作時,批處理的方法會讓你在一天結束時消耗更少的資源,從而提高工作效率。

解決數據庫級(SQL)工作上的問題,應該采用的是SET方法(整體的)而不是過程式的方法。下面來看看作者為什么這么說。

編寫有效的SQL查詢是企業軟件世界中***的難題之一。

每個公司在數據庫開發項目中所面臨的最根本的問題,在于開發環境中實現的性能不能在生產環境中實現。一般來說,存在性能損失是因為生產環境中的數據量要大得多。

這些問題(運行緩慢的數據庫操作)可能有各種各樣的原因。本文將解釋如何在編寫查詢時進行思考,如何思考是最基本的問題,也是解決此類問題的起點。

觀察發現SQL開發人員常使用過程方法編寫查詢。事實上,這是很自然的,因為用程序方法解決問題是最方便的人類邏輯解決方案。另一個方面,幾乎所有的SQL開發人員都在同時編寫Java、c#或其他編程語言的代碼。Java、C#等可以用來訓練開發人員以一種程序化的方式來培養他們的思維方式,因為當使用這些語言開發應用程序時,會使用很多類似的東西,比如IF .. THEN .. ELSE,FOR .. LOOP,WHILE .. DO, CASE .. WHEN。當然,在這種情況下,當將業務規則應用到一組數據時,意味著每個記錄都是單獨處理的(逐行處理)。這個過程方法在Java、c#等語言中使用。雖然使用語言開發軟件是一種正確的方法,但在編寫數據庫級(SQL)的查詢時,卻不會產生同樣的效果。

下面用兩種不同的方法來解決同一個示例問題,并將結果進行比較。看看CUSTOMERS表中對應的每個客戶在SALES表中有多少條記錄。

過程式方法如下:

   

 

現在,采用基于SET的方法來編寫查詢。

  

 

可以看到在兩個查詢的consistent gets數量之間的差異(當檢查緩沖區緩存讀到的塊數據時)是巨大的。使用兩種不同方法編寫的查詢在運行時導致不同時間。這種差別可以用性能來解釋。

在另一個例子中,常見的習慣是在SQL語句中調用PL/SQL函數。作為過程式工作的例子,也是一種解決問題的方法。還有其他一些影響在SQL內調用PL/SQL代碼性能的不利因素,但在本文中,不會提到性能問題。

下面編寫查找客戶表中每個客戶的購買金額的代碼。

過程方法:

在***步中,創建一個PL/SQL函數來計算每個客戶的總數,然后在代碼和輸出中調用這個函數。

  

 

現在,采用基于SET的方法來編寫查詢。

   

 

在本例中,通過查看consistent GETS和遞歸調用輸出,我們可以看到相同的情況。

我們的查詢也是生成更高效的數據庫操作的***步,它考慮的是批處理,而不是逐行思考。在進行數據庫操作時,批處理的方法會讓你在一天結束時消耗更少的資源,從而提高工作效率。 

責任編輯:龐桂玉 來源: CSDN大數據
相關推薦

2012-09-28 15:06:43

2012-08-30 14:43:19

IBMdw

2020-07-30 11:41:52

IT團隊遠程工作CIO

2011-11-02 09:54:37

測試

2017-07-07 08:46:51

災難恢復架構

2013-06-04 10:35:55

虛擬化IT系統

2022-09-27 15:51:51

機器翻譯AI

2009-10-13 15:38:04

CMDB

2021-12-12 21:36:04

Java開發代碼

2019-05-09 14:32:13

IT中斷災難恢復攻擊

2019-02-28 07:34:56

欺騙勒索軟件攻擊

2018-11-26 07:23:08

數據數據分析

2024-03-05 13:47:24

云計算容器服務

2023-12-06 13:49:00

低代碼開發

2017-04-28 09:04:32

移動應用開發反饋

2009-09-11 10:34:53

CCIE知識點CCIE

2012-02-08 16:45:20

ibmdw

2021-01-22 15:39:51

區塊鏈比特幣貨幣

2019-01-23 13:39:00

產品開發AR

2021-03-31 08:34:52

安全掃描網絡安全網絡攻擊
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕一区在线观看视频 | 国产精品区二区三区日本 | 国产精品a久久久久 | 中文字幕av在线播放 | 午夜精品视频 | 国产精品一区二区久久 | 国产高清在线精品 | 手机av在线 | 91精品国产欧美一区二区 | 成人在线一区二区 | 中文字幕不卡在线88 | 视频在线观看一区二区 | 亚洲国产欧美在线 | 精品欧美一区二区精品久久 | 欧美精品在线观看 | 国产黄色大片 | 三级在线免费 | 在线午夜 | 日日骚网| 亚洲36d大奶网 | 啪啪毛片 | 国产精品久久久久国产a级 欧美日韩国产免费 | 国产亚洲欧美另类一区二区三区 | 亚洲电影专区 | 日韩欧美专区 | 国产一区二区免费 | 国产精品成人一区二区三区 | 国产高清在线精品一区二区三区 | 欧美久久久久久久久 | 色综合国产 | 免费看色 | 成人av免费 | 亚洲精品一区国语对白 | 香蕉视频黄色 | 欲色av | 欧美一区二区黄 | 天天色综| 亚洲成人三区 | 在线播放亚洲 | 精品少妇一区二区三区日产乱码 | 亚洲喷水 |