亚洲色影视在线播放_国产一区+欧美+综合_久久精品少妇视频_制服丝袜国产网站

學(xué)習(xí)總結(jié)

sql數(shù)據(jù)庫實訓(xùn)總結(jié)

時間:2022-10-05 20:27:22 學(xué)習(xí)總結(jié) 我要投稿
  • 相關(guān)推薦

sql數(shù)據(jù)庫實訓(xùn)總結(jié)

  sql數(shù)據(jù)庫實訓(xùn)總結(jié),SQL是Structured Query Language(結(jié)構(gòu)化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。下面是小編分享的sql數(shù)據(jù)庫實訓(xùn)總結(jié),歡迎閱讀!

sql數(shù)據(jù)庫實訓(xùn)總結(jié)

  sql數(shù)據(jù)庫實訓(xùn)總結(jié)【1】

  我在sql server 索引基礎(chǔ)知識系列中,第一篇就講了記錄數(shù)據(jù)的基本格式。

  那里主要講解的是,數(shù)據(jù)庫的最小讀存單元:數(shù)據(jù)頁。

  一個數(shù)據(jù)頁是8k大小。

  對于數(shù)據(jù)庫來說,它不會每次有一個數(shù)據(jù)頁變化后,就存到硬盤。

  而是變化達(dá)到一定數(shù)量級后才會作這個操作。

  這時候,數(shù)據(jù)庫并不是以數(shù)據(jù)頁來作為操作單元,而是以64k的數(shù)據(jù)(8個數(shù)據(jù)頁,一個區(qū))作為操作單元。

  區(qū)是管理空間的基本單位。

  一個區(qū)是八個物理上連續(xù)的頁(即 64 kb)。

  這意味著 sql server 數(shù)據(jù)庫中每 mb 有 16 個區(qū)。

  為了使空間分配更有效,sql server 不會將所有區(qū)分配給包含少量數(shù)據(jù)的表。

  sqlserver 有兩種類型的區(qū):

  統(tǒng)一區(qū),由單個對象所有。

  區(qū)中的所有 8 頁只能由所屬對象使用。

  混合區(qū),最多可由八個對象共享。

  區(qū)中八頁的每頁可由不同的對象所有。

  通常從混合區(qū)向新表或索引分配頁。

  當(dāng)表或索引增長到 8 頁時,將變成使用統(tǒng)一區(qū)進(jìn)行后續(xù)分配。

  如果對現(xiàn)有表創(chuàng)建索引,并且該表包含的行足以在索引中生成 8 頁,則對該索引的所有分配都使用統(tǒng)一區(qū)進(jìn)行。

  為何會這樣呢?

  其實很簡單:

  讀或?qū)?8kb 的時間與讀或?qū)?64 kb的時間幾乎相同。

  在 8 kb 到 64 kb 范圍之內(nèi),單個磁盤 i/o 傳輸操作所花的時間主要是磁盤取數(shù)臂和讀/寫磁頭運動的時間。

  因此,從數(shù)學(xué)上來講,當(dāng)需要傳輸 64 kb 以上的 sql 數(shù)據(jù)時,

  盡可能地執(zhí)行 64 kb 磁盤傳輸是有益的,即分成數(shù)個64k的操作。

  因為 64 kb 傳輸基本上與 8 kb 傳輸一樣快,而每次傳輸?shù)?sql server 數(shù)據(jù)是 8 kb 傳輸?shù)?8 倍。

  我們通過一個實例來看 有and 操作符時候的最常見的一種情況。

  我們有下面一個表,

  create table [dbo].[member]( [member_no] [dbo].[numeric_id] identity(1,1) not null, [lastname] [dbo].[shortstring] not null, [firstname] [dbo].[shortstring] not null, [middleinitial] [dbo].[letter] null, [street] [dbo].[shortstring] not null, [city] [dbo].[shortstring] not null, [state_prov] [dbo].[statecode] not null, [country] [dbo].[countrycode] not null, [mail_code] [dbo].[mailcode] not null, [phone_no] [dbo].[phonenumber] null, [photograph] [image] null, [issue_dt] [datetime] not null default (getdate()), [expr_dt] [datetime] not null default (dateadd(year,1,getdate())), [region_no] [dbo].[numeric_id] not null, [corp_no] [dbo].[numeric_id] null, [prev_balance] [money] null default (0), [curr_balance] [money] null default (0), [member_code] [dbo].[status_code] not null default (' '))

  這個表具備下面的四個索引:

  索引名 細(xì)節(jié) 索引的列

  member_corporation_link nonclustered located on primary corp_no

  member_ident clustered, unique, primary key located on primary member_no

  member_region_link nonclustered located on primary region_no

  memberfirstname nonclustered located on primary firstname

  當(dāng)我們執(zhí)行下面的sql查詢時候,

  select m.member_no, m.firstname, m.region_nofrom dbo.member as mwhere m.firstname like 'k%' and m.region_no > 6 and m.member_no < 5000go sql server 會根據(jù)索引方式,優(yōu)化成下面方式來執(zhí)行。

  select a.member_no,a.firstname,b.region_nofrom(select m.member_no, m.firstname from dbo.member as m where m.firstname like 'k%' and m.member_no < 5000) a , -- 這個查詢可以直接使用 memberfirstname 非聚集索引,而且這個非聚集索引覆蓋了所有查詢列-- 實際執(zhí)行時,只需要 邏輯讀取 3 次

  (select m.member_no, m.region_no from dbo.member as mwhere m.region_no > 6) b

  -- 這個查詢可以直接使用 member_region_link 非聚集索引,而且這個非聚集索引覆蓋了所有查詢列-- 實際執(zhí)行時,只需要 邏輯讀取 10 次

  where a.member_no = b.member_no

  不信,你可以看這兩個sql 的執(zhí)行計劃,以及邏輯讀信息,都是一樣的。

  其實上面的sql,如果優(yōu)化成下面的方式,實際的邏輯讀消耗也是一樣的。

  為何sql server 不會優(yōu)化成下面的方式。

  是因為 and 操作符優(yōu)化的另外一個原則。

  1/26 的數(shù)據(jù)和 1/6 的數(shù)據(jù)找交集的速度要比 1/52 的數(shù)據(jù)和 1/3 的數(shù)據(jù)找交集速度要慢。

  select a.member_no,a.firstname,b.region_nofrom(select m.member_no, m.firstname from dbo.member as mwhere m.firstname like 'k%' -- 1/26 數(shù)據(jù)) a,

  (select m.member_no, m.region_no from dbo.member as mwhere m.region_no > 6 and m.member_no < 5000-- 1/3 * 1/ 2 數(shù)據(jù)) bwhere a.member_no = b.member_no

  當(dāng)然,我們要學(xué)習(xí)sql 如何優(yōu)化的話,就會用到查詢語句中的一個功能,指定查詢使用哪個索引來進(jìn)行。

  比如下面的查詢語句

  select m.member_no, m.firstname, m.region_nofrom dbo.member as m with (index (0))where m.firstname like 'k%' and m.region_no > 6 and m.member_no < 5000go

  select m.member_no, m.firstname, m.region_nofrom dbo.member as m with (index (1))where m.firstname like 'k%' and m.region_no > 6 and m.member_no < 5000goselect m.member_no, m.firstname, m.region_nofrom dbo.member as m with (index (membercovering3))where m.firstname like 'k%' and m.region_no > 6 and m.member_no < 5000goselect m.member_no, m.firstname, m.region_nofrom dbo.member as m with (index (memberfirstname, member_region_link))where m.firstname like 'k%' and m.region_no > 6 and m.member_no < 5000go

  這里 index 計算符可以是 0 ,1, 指定的一個或者多個索引名字。

  對于 0 ,1 的意義如下:

  如果存在聚集索引,則 index(0) 強(qiáng)制執(zhí)行聚集索引掃描,index(1) 強(qiáng)制執(zhí)行聚集索引掃描或查找(使用性能最高的一種)。

  如果不存在聚集索引,則 index(0) 強(qiáng)制執(zhí)行表掃描,index(1) 被解釋為錯誤。

  總結(jié)知識點:

  簡單來說,我們可以這么理解:sql server 對于每一條查詢語句。

  會根據(jù)實際索引情況(sysindexes 系統(tǒng)表中存儲這些信息),分析每種組合可能的成本。

  然后選擇它認(rèn)為成本最小的一種。

  作為它實際執(zhí)行的計劃。

  成本代價計算的一個主要組成部分是邏輯i/o的數(shù)量,特別是對于單表的查詢。

  and 操作要滿足所有條件,這樣,經(jīng)常會要求對幾個數(shù)據(jù)集作交集。

  數(shù)據(jù)集越小,數(shù)據(jù)集的交集計算越節(jié)省成本。

  的項目中,竟然出現(xiàn)了濫用聚集索引的問題。

  看來沒有培訓(xùn)最最基礎(chǔ)的索引的意義,代價,使用場景,是一個非常大的失誤。

  這篇博客就是從這個角度來羅列索引的基礎(chǔ)知識。

  使用索引的意義

  索引在數(shù)據(jù)庫中的作用類似于目錄在書籍中的作用,用來提高查找信息的速度。

  使用索引查找數(shù)據(jù),無需對整表進(jìn)行掃描,可以快速找到所需數(shù)據(jù)。

  使用索引的代價

  索引需要占用數(shù)據(jù)表以外的物理存儲空間。

  創(chuàng)建索引和維護(hù)索引要花費一定的時間。

  當(dāng)對表進(jìn)行更新操作時,索引需要被重建,這樣降低了數(shù)據(jù)的維護(hù)速度。

  創(chuàng)建索引的列

  主鍵

  外鍵或在表聯(lián)接操作中經(jīng)常用到的列

  在經(jīng)常查詢的字段上最好建立索引

  不創(chuàng)建索引的列

  很少在查詢中被引用

  包含較少的惟一值

  定義為 text、ntext 或者 image 數(shù)據(jù)類型的列

  heaps是staging data的很好選擇,當(dāng)它沒有任何index時

  excellent for high performance data loading (parallel bulk load and parallel index creation after load)

  excellent as a partition to a partitioned view or a partitioned table

  聚集索引提高性能的方法,在前面幾篇博客中分別提到過,下面只是一個簡單的大綱,細(xì)節(jié)請參看前面幾篇博客。

  何時創(chuàng)建聚集索引?

  clustered index會提高大多數(shù)table的性能,尤其是當(dāng)它滿足以下條件時:

  獨特, 狹窄, 靜止: 最重要的條件

  持續(xù)增長的,最好是只向上增加。

  例如:

  identity

  date, identity

  guid (only when using newsequentialid() function)

  聚集索引唯一性(獨特型的問題)

  由于聚集索引的b+樹結(jié)構(gòu)的葉子節(jié)點必須指向具體數(shù)據(jù)。

  如果你要建立聚集索引的列不唯一,并且你指定的創(chuàng)建的聚集索引是非唯一的聚集索引,則會有以下情況:

  如果未使用 unique 屬性創(chuàng)建聚集索引,數(shù)據(jù)庫引擎 將向表自動添加一個四字節(jié) uniqueifier 列。

  必要時,數(shù)據(jù)庫引擎 將向行自動添加一個 uniqueifier 值,使每個鍵唯一。

  此列和列值供內(nèi)部使用,用戶不能查看或訪問。

  sql數(shù)據(jù)庫實訓(xùn)總結(jié)【2】

  實訓(xùn),就是把我們在學(xué)校所學(xué)的理論知識,運用到客觀實際中去,是自己所學(xué)到的理論知識有用武之地,只學(xué)不實踐,那么所學(xué)的就等于零。

  理論應(yīng)該與時間相結(jié)合。

  另一方面,實踐卡可以為以后找工作打基礎(chǔ)。

  通過這段時間的實習(xí),學(xué)到一些在學(xué)校里學(xué)不到的東西。

  因為環(huán)境不同,接觸的人與事不同,從中學(xué)到的東西自然就不一樣。

  要學(xué)會從實踐中學(xué)習(xí),從學(xué)習(xí)中時間。

  而且中國的緊急飛速發(fā)展,在擁有越來越多的機(jī)會的同是,也有了更多的挑戰(zhàn)。

  對于人才的要求就會越來越高,我們不只要學(xué)號學(xué)校所學(xué)到的知識,好藥不斷充生活中,實踐中學(xué)其他知識,不斷從各方面武裝自己,才能在競爭中突出自己,表現(xiàn)自己。

  短短兩個月的工作過程是我受益很大。

  不僅讓我開闊了眼界,最主要的是懂得了如何更好的為人處事。

  第一要真誠:你可以偽裝自己的面孔,但絕不可以忽略真誠的力量。

  記得第一天來這里時,心里不可避免的有些疑惑:不知道老板怎么樣,應(yīng)該去怎么做,要去感謝什么等等。

  踏進(jìn)大門后,之間幾個陌生的人用莫名而疑惑的眼神看著我,我微笑和他們打招呼,尷尬的局面理科得到了緩解,大家都很友善的微笑歡迎我的到來。

  從那天戚,我養(yǎng)成了一個習(xí)慣,每天早上見到他們都要微笑的說聲好。

  第二是激情與耐心:激情與耐心,就像火與冰,看是兩種完全不同的東西,卻能碰撞出最美麗的火法。

  第三是主動出擊:當(dāng)你可以選擇的時候,把主動權(quán)握在自己手中,在實習(xí)旗艦,我會主動的協(xié)同同事工作,主動的做些力所能及的事,并會幾級的尋找合適的時間跟他們交流。

  談生活學(xué)習(xí)以及未來的工作,通過這些我就同事們走的很近,在實習(xí)中,他們會教我怎么做事見什么樣的人說什么樣的話,使我覺得花的了很多收獲而且和他們相處的很愉快。

  第四是感受到學(xué)校和社會的距離:在學(xué)校,只有學(xué)習(xí)的氛圍,畢竟學(xué)校是學(xué)習(xí)的場所,每一個學(xué)生都在為取得更高的成績而努力。

  在這里是工作的場所,每個人都會為了獲得更多的報酬而努力,無論是學(xué)習(xí)還是工作,都存在著競爭,在競爭中就要不斷學(xué)習(xí)別人先進(jìn)的地方,也要不斷學(xué)習(xí)別人怎么做人,,移提高自己的能力。

  記得老師曾經(jīng)說過大學(xué)是一個小社會,但我總覺得校園里總少不了那份純真,那份真誠,盡管是學(xué)學(xué)搞笑,學(xué)生還終歸保持著學(xué)生的身份,而走進(jìn)企業(yè),接觸各個的客戶,同事,上司等等,關(guān)系復(fù)雜。

  得去面對從未面對過的一切。

  在實際工作中,可能會遇到書本上沒學(xué)到的,又可能是書本上的只是一點都用不上的情況。

  或許工作中運用到的只是很簡單的問題,只要套公式是的就能完成一線任務(wù),有時候我會埋怨,實際操作這么簡單,但為什么書本上的知識讓人學(xué)的這么吃力呢?這是社會與學(xué)校脫軌了嗎?也許老是是正確的。

  雖然大學(xué)生生活不像踏入社會,但總算是社會的一部分,這是不可佛人的事實。

  作為一個新世紀(jì)的大學(xué)生,應(yīng)該懂得與社會上各方面的人交往,處理社會所發(fā)生的各方面的事情,這就意味著大學(xué)生要注意到社會實踐,社會實踐必不可少。

  畢竟,四年大學(xué)念完后,我已經(jīng)不再是一名大學(xué)生,是社會中的一份子了。

  要與社會交流。

  為社會做貢獻(xiàn)。

  只懂得紙上談兵是遠(yuǎn)遠(yuǎn)不及的,以后的人生旅途是漫長的,為了鍛煉自己成為一名合格,對社會有用的人才,多接觸社會是很有必要的。

  回顧實訓(xùn)生活,感觸是很深,收獲是豐碩的。

  在短暫的實訓(xùn)過程中,我深深的感覺到自己所學(xué)的知識的膚淺和在實踐運用中知識的匱乏,剛開始的一段時間里,對一些工作無從下手,茫然不知所措,這讓我感到非常的難過。

  在學(xué)?傄詾樽约簩W(xué)的不錯,一旦接觸到時間,菜發(fā)現(xiàn)自己知道的是多么少,這是菜真正領(lǐng)悟到學(xué)無止境的含義。

  sql數(shù)據(jù)庫實訓(xùn)總結(jié)【3】

  為期一周的實訓(xùn)已經(jīng)結(jié)束,從這一周中,有了很多的感悟。

  從學(xué)到和掌握到的東西來說,在書本上學(xué)到的東西非常不牢固,然而實訓(xùn)真的讓我受益匪淺!實訓(xùn)第一天到教室時,看到老師給我們講試訓(xùn)的內(nèi)容與要求,然后告訴我們一些要完成的任務(wù)與作業(yè),然后根據(jù)試訓(xùn)的內(nèi)容與要求授課,讓我們從實踐中去體會所學(xué)的知識。

  說實話,對于SQL Server 數(shù)據(jù)庫,我所學(xué)到的知識很不牢固,當(dāng)時在課堂上聽課所記住的也并不多,所以在試訓(xùn)開始時,真的不知道該干些什么?有一種“何去何從”的感覺!但隨著老師的教課和講解,以及和同學(xué)的討論,再結(jié)合自己所知道的知識和老師所發(fā)放下的課程內(nèi)容,根據(jù)這些實際的情況,我對自己將要做的事也有了興趣和信心。

  所以在接下來的時間中,我們在老師的幫助下開始了數(shù)據(jù)庫相關(guān)的實訓(xùn)。

  在這次的google訂餐系統(tǒng)的設(shè)計過程中,我們根據(jù)該google訂餐系統(tǒng)的功能,將其分解三大部分來完成,第一部分就是建立數(shù)據(jù)庫和表,并給其添加約束;第二是角色的管理,分為管理員,訂餐用戶和餐館;第三就是用編程語言建立管理菜單。

  所以 試訓(xùn)的內(nèi)容是從數(shù)據(jù)庫和數(shù)據(jù)表的創(chuàng)建和修改開始的,表是建立關(guān)系數(shù)據(jù)庫的基本結(jié)構(gòu),用來存儲數(shù)據(jù)具有已定義的屬性,在表的操作過程中,有查看表屬性,有查看表信息,修改表中數(shù)據(jù),刪除表中的數(shù)據(jù)以及修改表與刪除表的操作。

  我們以SQL Server數(shù)據(jù)庫為基礎(chǔ),建立一個google訂餐系統(tǒng)的數(shù)據(jù)庫管理體系,并將數(shù)據(jù)庫與程序連接,用編程語言建立數(shù)據(jù)庫管理菜單。

  老師給我們講了庫和表的創(chuàng)建方法,以及約束的內(nèi)心及其語法結(jié)構(gòu),讓我們知道了不同約束的功能和使用的環(huán)境,還給我們說了標(biāo)識列的使用和作用。

  講了數(shù)據(jù)庫的操作,增刪改查。

  使我們掌握了insert into,deleted from,update set,以及select*from語句的的相關(guān)知識和運用。

  其中還學(xué)到了分頁查詢以及多表查詢。

  從這次試訓(xùn)中讓我們更明白了一些知識,表是數(shù)據(jù)庫最重要的一個數(shù)據(jù)對象,表的創(chuàng)建好壞直接關(guān)系到數(shù)據(jù)庫的成敗,表的內(nèi)容是越具體越好,但是也不能太繁瑣,以后在實際運用中使用多表,對表的規(guī)劃和理解就會越深刻。

  通過這次試訓(xùn),讓我深刻的了解到自己的不足,要想對進(jìn)行數(shù)據(jù)庫更深的學(xué)習(xí),自己得要多看有關(guān)的課外書籍,并多做練習(xí),不懂得要多問同學(xué)和請教老師,以解決自己遇到的難題,知道更多的知識。

  實訓(xùn)不僅是讓我們在實踐中對理論知識的驗證,也讓我們知道我們多學(xué)的知識在社會上的運用,把所學(xué)知識和企業(yè)商業(yè)接軌。

  這次實訓(xùn),不僅讓我們學(xué)到了許多有關(guān)數(shù)據(jù)庫的知識,老師也給我們講了很多社會現(xiàn)狀和就業(yè)情況,讓我們不同的角度了解這個專業(yè)的就業(yè)趨勢。

  讓我們在今后的學(xué)習(xí)中更有動力的充實自己,曾加自己的知識面和鍛煉自己各方面能力。

【sql數(shù)據(jù)庫實訓(xùn)總結(jié)】相關(guān)文章:

SQL實訓(xùn)報告(通用5篇)05-26

數(shù)據(jù)庫實訓(xùn)心得體會04-23

數(shù)據(jù)庫實訓(xùn)心得體會(精選10篇)11-23

數(shù)據(jù)庫實訓(xùn)心得體會(精選13篇)12-12

金工實訓(xùn)課程的實訓(xùn)總結(jié)通用12-06

施工實訓(xùn)總結(jié)12-02

java實訓(xùn)總結(jié)11-18

組態(tài)實訓(xùn)總結(jié)12-30

實訓(xùn)總結(jié)通用03-02

電氣實訓(xùn)總結(jié)04-04