sqlserver實訓心得_sqlserver實訓體會(精選3篇)

來源:瑞文範文網 2.74W

sqlserver實訓心得_sqlserver實訓體會 篇1

1、儘可能少用臨時表

sqlserver實訓心得_sqlserver實訓體會(精選3篇)

select * from

(select ROW_NUMBERover(order by AreaName)as rowNum, AreaName,

AreaTotalPoints=(select SUM(Points) from #tempPoints where JurisdictionalUnitArea in(select AreaID from GetSubAreas(AreaID)))

from Areas where ParentAreaID=@AreaID)as t

where rowNum>(@pageindex-1)*@pagesize and rowNum<=@pageinde@pagesize

我原來是這樣寫的:

select ROW_NUMBERover(order by AreaName)as rowNum, AreaName,

AreaTotalPoints=(select SUM(Points) from #tempPoints where JurisdictionalUnitArea in(select AreaID from GetSubAreas(AreaID)))

into #temp from Areas where ParentAreaID=@AreaID

select * from #temp where rowNum>(@pageindex-1)*@pagesize and rowNum<=@pageinde@pagesize

drop table #temp

測試後發現不用臨時表查詢時間大大減少了。

小結:有時我們爲了語句的邏輯清晰而使用臨時表存儲數據,但這樣會影響sql語句執行效率,特別在數據量大的時候,這種差異尤爲明顯。所以要權衡選擇。一般在數據量小時,使用它影響不大。

2、儘可能少選取列

select sdictionalUnitArea,SUM(ts)as yearPoints into #tempUser2

from #tempUser tempUser inner join PointRecords pr on ID=ctUserID。。。

我原來是這樣寫的:

select tempUser.* ,SUM(ts)as yearPoints into #tempUser2

from #tempUser tempUser inner join PointRecords pr on ID=ctUserID。。。

其實自己需要用到的只是其中一部分數據列,有時爲了圖方便,就用*代替了,這樣也會影響效率。

3、SET NOCOUNT 不返回計數功能

使用語句:SET NOCOUNT ON, 默認情況下(即不寫)SET NOCOUNT 爲OFF

一般使用sql server管理工具新建存儲過程會自動創建這條指令,在不需要數據庫告訴你執行完sql語句影響了多少行時推薦SET NOCOUNT ON,可以提高性能。

4、有無必要使用distinct

SELECT distinct u.*,sdictionalUnitArea

SELECT u.*,sdictionalUnitArea

distinct是返回數據表中不重複的記錄,像註冊用戶這種情況一般在註冊時就會驗證唯一性,所以表中不會出現重複記錄(其它情況可具體分析),就可以不使用distinct。

distinct和not in ,union等一樣會導致全表掃描,導致性能下降,在能不用的情況下儘量不用。

補充:一般使用rowNumber函數代替not in

使用union all 代替union

sqlserver實訓心得_sqlserver實訓體會 篇2

爲期五天的實習,很快就過去了,讓我重新瞭解了豐富多彩的編程生活,感受到了學習的快樂,也感覺到了許許多多的專業問題,親身體驗了窗體與工程製成之後的喜悅之情。

在實訓期間,我學到了許多東西,遇到了一些困難,也看到了自己本身存在着許多問題。

這次實訓給我帶來了危機感和壓迫力,讓人警醒,更加清楚自己的水平和重量,心裏總有種被大石頭壓着的無力感,但是又憑着一種堅持,奮力的抗爭着。所以也得出個結論,那就是——我得好好好好的努力啊。

這已經是我們的第四次實訓了,在我進入大學的這兩年多裏,或多或少的學到了一些專業的東西。

我知道自己很愛玩,於是爲了能夠提高鍛鍊自己,我把本次爲期一週的VB、SQL製作實訓看作是一個通向社會,通向我的工作崗位的“理論與實踐相結合的橋樑”。在本週的實訓和學習,我一直知道此次實訓的目的,也知道我自己的目的,同時也清楚目前自己的不足——缺乏相應的知識與經驗,對所學的專業知識不能夠很好地運用於實踐操作,所以我是認真的對待這次實訓的。

在這次實訓中,我也有許多收穫。首先,我體會到了作爲一個VB設計師,不會將VB與SQL結合的痛苦和尷尬;然後,我發現了很多以前都不曾注意到的細節;其次,在實訓中,我對作爲一名編程者應該學習的內容做了一個更深層次的理解;最後,我還從這次實訓中看到了自己很他人的差距,危機意識增強,爲了不使這個差距拉大,甚至趕上前面的同學,我會努力的。

本次實訓,給我最深刻、最刻骨銘心的感覺就是累,不僅每天白天要一整天對着一臺機器,而且到了晚上還要對着這臺機器來一個法式的“秉燭夜談”,可惜的是沒有浪漫的事前發生,我也只是對牛談情而已,不似李白的“舉杯邀明月,對影成三人”啊,我就和一部會說話的機器唧唧歪歪。我時常想,以後的日子裏,如果我成爲了一名編程師也會是這樣嗎?好像很無聊的樣子啊。好動的我一定坐不住吧。可是,我也知道,爲了衣食父母,爲了生存,爲了未來,現在我還沒有任何的資格想這個問題,時間不對,而現在最最應該想的是——我要怎樣成爲一個頂級的編程師。當我終於有能力的時候,纔是考慮無不無聊的問題,我還是明白這一點點。

經過多番的努力和辛酸,我成功地完成了這次過程艱辛的實訓,而且我從中體會到了一種叫做‘成功的喜悅’的感覺,那種小有成就的興奮是隻有置身其中的人才能體會的,就好比我啊,雖然知道笑到最後的纔是老大,但是偶爾阿Q一下來調節生活樂趣也是的一項很必要的事情吧。 總之,這次實訓爲我提供了與衆不同的學習方法和學習體會,從書本中走出來,面對現實,爲我將來走上社會打下了紮實的基礎,鋪了一條五光十色的大馬路。而且,我也體會到了前人總結出的許多的實踐經驗,而且一直都知道技術永遠是工資的基礎,社會是不會要一個一無是處的人的,所以,爲了生活庸俗一點,努力一點,多累一點,好好學習技術,將來纔有吃大餐的錢呀。

因此,我知道,作爲在校電商專業的大專生,我能做的就是好好的吸取知識,努力的提高自己的技術水平和自身的綜合素質,提高自己的表達能力、寫作能力和合作能力。如此,出了社會,自己有了能力,到時候纔會是 “吃嘛嘛香”,並且很牛逼的是自己選公司,而不是悲慘的等待公司來選。我相信在不久的未來,會有屬於我自己的一片天空,而且這片天空會很藍很藍,沒有黑黑的烏雲,只有燦爛的陽光!

在編程的過程中遇到問題,可以說得是困難重重,這畢竟是第一次編程這麼多,這麼認真,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說代碼不熟悉,還好通過老師的細心指導才能達到最終效果通過這次程設計與製作實訓,一定把以前所學過的知識重新溫故。

這個星期是我們SQL Server 數據庫管理課的實訓,經過一個星期的實訓,讓我領會到了許多平時課堂上所沒有接受的課外知識,很讓人受益匪淺,懂得如何去運用,而進行的一次分析設計綜合的訓練。而本次實訓的目的是讓我們掌握數據庫系統的原理、技術。將理論與實際相結合,應用現有的數據庫管理系統軟件,規範、科學地完成一個設計與實現。

這次我們實訓的內容是從數據庫、數據表的創建和修改開始的,表是建立關係數據庫的基本結構,用來存儲數據具有已定義的屬性,在表的操作過程中,有查看錶信息、查看錶屬性、修改表中的數據、刪除表中的數據及修改表和刪除表的操作。從實訓中讓我更明白一些知識,表是數據最重要的一個數據對象,表的創建好壞直接關係到數數據庫的成敗,表的內容是越具體越好,但是也不能太繁瑣,以後在實際應用中多使用表,對錶的規劃和理解就會越深刻。我們實訓的另一個內容是數據庫的約束、視圖、查詢。從中我們瞭解到查詢語句的基本結構,和簡單SELECT語句的使用,多表連接查詢。而在視圖的操作中,也瞭解到了視圖是常見的數據庫對象,是提供查看和存取數據的另一種途徑,對查詢執行的大部分操作,使用視圖一樣可以完成。使用視圖不僅可以簡化數據操作,還可以提高數據庫的安全性,不僅可以檢索數據,也可以通過視圖向基表中添加、修改和刪除數據。

存儲過程、觸發器也是我們實訓的內容之一, 在操作中有建立存儲過程,執行存儲過程,及查看和修改存儲過程,這些都是非常基礎的東西,但對用戶卻是非常重要的呢,只有熟悉了T_SQL語言,才能更好的掌握更多的東西。我們還學習了,SQL管理、數據的導入、導出、備份和還原。有SQL Server 安全訪問控制;登錄賬戶的管理;數據庫角色的管理;用戶權限管理。維護數據庫的安全是確保數據庫正常運行的重要工作。數據的備份是對SQL Server數據事務日誌進行拷貝,數據庫備份記錄了在進行備份操作的數據庫中所有數據的狀態。而數據的備份還分爲數據庫完整備份、差異備份、事務日誌備份、文件及文件組備份。做數據備份就是爲了以後的數據庫恢復用。在實訓內容上我們還做了倉庫管理數據庫,其中的要求包含了許多數據庫的對象,綜合了我們所學的許多知識,讓我們更努力的把所學到的東西運用上去。

實訓課是在學習與探索中度過的,短暫的一星期實訓是結束了,但其中讓我們學到了許多知識,出現許多未知的爲什麼,如倉庫管理數據庫的初步設置、數據備份與還原的步驟,如何建立視圖、觸發器等一系列的問題,正是在老師和同學的共同努力之下,我們才一步步把問題解決了,最終完成了不可能完成的任務。

短短的5天VB程序設計又結束了。在這5天的實訓中,給我們更大的感覺是設計的任務繁重。程序設計的嚴密性,讓我們清楚的瞭解了VB這一課程。只有親身經歷過,才知道其中的滋味。VB設計實訓,對我們各方面的要求更是提高了一大步。

“要想爲事業多添一把火,自己就得多添一捆材”。 通過此次實訓,我深深體會到了積累知識的重要性。有些題目書本上沒有提及,所以我就沒有去研究過,做的時候突然間覺得自己真的有點無知,雖然現在去看依然可以解決問題,但還是浪費了許多時間,這一點是我必須在以後的學習中加以改進的。另外一點,也是在每次實訓中必不可少的部分,就是不懂的同學間可以互相幫助,有些東西感覺自己做的是時候明明沒什麼錯誤,偏偏最後運行時候就是有錯誤,讓其同學幫忙看了一下,發現其實是個很小的錯誤。所以說,相互幫助是很重要的一點。這在以後的工作或生活中也很關鍵的。

5天的實訓結束了,收穫頗豐,總的來說我對這次實訓還是比較滿意的,它使我學到了很多東西,雖說有點頭疼,但是真的很感謝學校能夠給學生這樣實訓的機會,讓我們明白了,只有多做,才能熟能生巧,才能遊刃有餘。我深刻理解了什麼是程序設計,它不僅僅是一份職業,更是一份細心+一份耐心+一份責任心=人生價值的詮釋。同時我也認識到要做一個合格的設計工作者並非我以前想像的那麼容易,最重要的還是細緻嚴謹。社會是不會要一個一無是處的人,所以我們要更多更快得從一個學生向工作者轉變。 總而言之,這次實訓讓我對程序設計工作有了比較清晰的認識,並在實際操作過程中找出自身存在的不足,對今後的會計學習有了一個更爲明確的方向和目標。

只有經歷過,才知道其中的滋味”,對我而言,可以說通過這幾天的實訓課,真真切切的讓我瞭解了什麼是VB, 通過實訓,我對本課程的認識進一步加強。

sqlserver實訓心得_sqlserver實訓體會 篇3

最近有幸參加了SQL Server20xx R2的學習,有幾點自己感覺比較實用的知識點以及技巧,和大家分享一下。

1,備份時勾選checksum選項。

數據庫備份時偶爾會產生損壞頁,而且在訪問到損壞頁之前往往不容易被我們發現。因此備份後首先應該記得做的一件事就是驗證一下,在早期版本的SQL Server中我們可以用如下命令進行檢測:

dbcc checkdb 數據庫名

在SQL server20xx以後的版本中備份爲我們提供了checksum選項,備份時同時進行檢測,保證數據的正確性和完整性。

2.時間類型

提到時間類型,我們常用的就是datetime類型,當計算時間間隔的時候有兩種常用方法:

①採用>=datetime1 and <= datetime2+' 24:00:00',這種方式問題倒是不太大;

②採用 convert(datetime1)方式轉換爲日期,然後進行比較。這種方式的弊端在於會導致索引無效。解決方案是採用計算列,即,添加一個列爲convert(colname),然後在新列上建索引。這樣就可以避免修改程序來挽回索引了。

在SQL Server20xx中,爲了解決這些問題,有了更細的時間類型:date、time、datetime2(精度更高)、datetimeoffset(帶時區)。

3.其他備份選項:

①備份壓縮:在備份的同時對數據進行壓縮,當數據量較大的時候可以爲企業節省服務器資源。

②碎片處理:對於數據庫頁進行碎片整理,提高性能。

③索引視圖:一般的視圖中是沒有數據的,是一張虛表。但是索引視圖中是包含數據的,這樣可以提高檢索性能,當然也會浪費了部分空間。是典型的以空間換時間做法。

4.稀疏列:

當列爲變長類型時null值不消耗空間,當爲定長類型時null值消耗空間。這種做法實際上拋棄了範式規則,來提高讀取速度。不過一般建議當該列null值大於70%時才定義爲稀疏列,否則所佔據的空間反而更大。

5.頁壓縮、行壓縮

SQL Server20xx提供了壓縮功能來節省空間,其中行壓縮針對定長數據,頁壓縮包括行壓縮,且重複值只存一次,其他的只存物理指針。

主要用來生成腳本,優點是可以包含表之間的依賴關係、結構信息等,但是不包括實際數據。

7.在虛擬機上架構SQL Server要記得打開Named Pipes協議。否則不能正常運行。

8.文件組:

建立數據庫數據表之後將文件進行分組、規劃。一般企業經常將整個數據庫放在一個文件中,這是不合理的。或者有些企業建立多個數據庫來分開管理,但是當服務器做鏡像或者遷移時會存在建立索引的麻煩。所以建議使用文件組管理。

9.開發人員規範

①寫INSERT以及SELECT 要寫明具體字段名稱,否則一旦表字段進行了調整,就會帶來修改客戶端程序的麻煩。

②存儲過程名稱不要以sp_開頭,而要以usp_開頭。因爲sp_開頭的存儲過程會被當做系統自帶內容,降低性能。

熱門標籤