水晶報表 – Microsoft SQL Server

水晶報表 – Microsoft SQL Server
劉易斯2022 年 2 月 22 日
那麼,您需要幫助在 sql 中編寫查詢嗎?你已經得到它了!您即將發現一些您可以在幾秒鐘內開始使用的最佳技術,這些技術將在未來幾年為您提供獎勵。

好吧,我承認,我也是一名程序員。所以,我讓我的 MCDBA 顯示我知道關於數據源的一件事或更多。所以,最近我實際上做了比編程工作更多的 DBA 工作。是的,我能聽到你在哭泣“叛徒!” 我實際上已經走到了黑暗的一面;“後端”。

下面的光明面是我可以(創造一個過度使用的表達”)感覺到你的不適。許多程序員將數據源視為某種必需的邪惡。根據我的經驗,普通程序員只知道足夠的 SQL 來放置、升級以及從數據庫中刪除單個文檔。讓 DBA 處理這些苛刻的事情。不幸的是,一些開發人員無法訪問 DBA(至少沒有人會與他們合作)因此必須自己制定 SQL。同樣,想像一下,當你能夠讓“愚蠢的點走得更快”時,你將獲得同行的尊重、奢侈的加薪以及獲得聖徒提名。

因此,以下是我實際發現的三個大問題,平均“喬設計師”可以強制執行以提高他們的查詢響應時間。

一:開發中的每一件小事都在發揮作用!
首先,讓我們在盒子外面做一點假設。我知道我說過我最有可能就如何讓您的查詢更快提出想法……我是。儘管如此,這可能有點偏離常規。但這不是一個很棒的建議嗎?你目前還沒有聽過一百遍的東西?

這是背景:應用程序在罐中,運行良好,現在開始了。幾天之內,您開始聽到抱怨說應用程序的某些部分運行緩慢。這些抱怨很快就會成為援助票。這些援助票很快成為與老闆和個人的會議。這些會議經常變成酗酒……你明白了。

這種令人遺憾的情況也經常出現,並且有一個相當基本的補救措施。您會看到,由於您的晉升數據庫中有相當多的記錄,因此在您的成長環境中一切都在不斷地執行良好!當然,如果我的主表中只有 30 個文檔,我的應用程序肯定也會出色地運行SQL Intermediate Course !一旦涉及到現實生活,並且輸入或導入幾十萬或無數的文件,對效率調整的需求就變得至關重要。

補救措施很簡單;在您的晉升氛圍中產生完全相同數量的記錄,正如您在運營的第一年肯定會預期的那樣。如果您有可導入的數據(例如,來自傳統系統或第 3 方提要),他們會將它們泵入。如果您沒有,那麼有幾個開放資源實用程序可以開發模擬信息,這些信息將非常接近您的實際數據。現在,當您第一次編寫查詢時,如果您需要專注於特定問題以預防未來的偏頭痛以及治療費用,您將有一個非常好的主意。

B) 了解您的索引。

一些設計師完全忽略了索引。無數人不理解他們。索引只是數據源表中數據的製表。在建立應用程序時,打印出數據庫的架構,包括索引,以便您在編寫問題時知道它們是什麼。如果錯過了一個理想的索引,請讓有索引經驗的人開發它(無論是你、牆另一邊的程序員,還是 DBA)。

效果就在這裡。假設您正在編寫一個與管理系統取得聯繫。您可能會有一個包含名字、姓氏等的表。為簡單起見,我們將所有這些都保存在一張帶有明顯區域名稱的大表中。您很可能會編寫一個類似於以下內容的查詢:。

選擇 Person_ID、Name_First、Name_Last。

來自 Person_Data。

其中 Name_Last = @NameLast。

並且 Name_First = @NameFirst。

有 100 行,這將很快工作。儘管如此,隨著您的數據源增長到數以千計的文檔,問題肯定會放慢速度,最終導致秒數變化。如果您簡單地包含包含 Name_Last 和 Name_First 列的索引,那麼在應用程序的整個生命週期中,您肯定會有基本的即時返回時間。

提起下:商業