摘要:
最近公司來一個非常虎的dba 10幾年的經驗 這里就稱之為蔡老師吧在征得我們蔡老同意的前提下 我們來分享一下蔡老給我們帶來的寶貴財富 歡迎其他的dba來拍磚目錄1、什么是執(zhí)行計劃?執(zhí)行計劃是依賴于什么信息。2、 統(tǒng)一SQL語句的寫法減少解析開銷3、 減少SQL語句的嵌套4、 使用“臨時表”暫存中間結果5、 OLTP系統(tǒng)SQL語句必須采用綁定變量6、 傾斜字段的綁定變量窺測問題7、 begin tran的事務要盡量地小。8、 一些SQL查詢語句應加上nolock9、加nolock后查詢經常發(fā)生頁分裂的表,容易產生跳讀或重復讀10、聚集索引沒有建在表的順序字段上,該表容易發(fā)生頁分裂11、使用復合索 閱讀全文
隨筆分類 - DBA
走向DBA[MSSQL篇] 針對大表 設計高效的存儲過程【原理篇】 附最差性能sql語句進化過程客串
2011-11-11 17:56 by 熬夜的蟲子, 2256 閱讀, 收藏,
摘要:
測試的結果在此處本篇詳解一下原理設計背景由于歷史原因,線上庫環(huán)境數(shù)據(jù)量及其龐大,很多千萬級以上甚至過億的表。目標是讓N張互相關聯(lián)的表 按照一張源表為基表,數(shù)據(jù)搬移歸檔 這里我們舉例N為50 每張表數(shù)據(jù)5000W最差性能sql進化客串2表KeyName 字段意義 名稱等相同 從bug01 表中取出前500條不在bug02 表中的數(shù)據(jù)最差性能:SELECT TOP 500 a.KeyName FROM bug01 a LEFT JOIN bug02 b on a.KeyName = b.KeyName WHERE (a.KeyName not in (select distinct b.KeyNa 閱讀全文
走向DBA[MSSQL篇] 面試官最喜歡的問題 ----索引+C#面試題客串
2011-11-07 13:05 by 熬夜的蟲子, 3206 閱讀, 收藏,
摘要:
對大量數(shù)據(jù)進行查詢時,可以應用到索引技術。索引是一種特殊類型的數(shù)據(jù)庫對象,它保存著數(shù)據(jù)表中一列或者多列的排序結果,有效地使用索引可以提高數(shù)據(jù)的查詢效率。大家面試初級、中級或者高級程序員的時候應該大部分都會被問到這樣一些問題,你了解索引嗎?你知道索引的分類嗎?你知道這些索引的區(qū)別嗎?你如何去創(chuàng)建有效的索引。本章讓大家學會反問面試官 hold住全場。 --_____--友情客串最近面試的文章比較火 客串一下 我只簡單問2個問題 看看有多少人能直接回答出來 都是比較基礎的1.基類虛函數(shù)、派生類重寫 與 基類普通函數(shù)、派生類覆蓋的區(qū)別(-____-)2.Using閉包中try catch,異常捕獲后拋 閱讀全文
走向DBA[MSSQL篇] 詳解游標
2011-11-07 10:05 by 熬夜的蟲子, 2449 閱讀, 收藏,
摘要:
前篇回顧:上一篇蟲子介紹了一些不常用的數(shù)據(jù)過濾方式,本篇詳細介紹下游標。概念簡單點說游標的作用就是存儲一個結果集,并根據(jù)語法將這個結果集的數(shù)據(jù)逐條處理。觀點正因為游標可以將結果集一條條取出處理,所以會增加服務器的負擔。再者使用游標的效率遠遠沒有使用默認的結果集效率高,在默認結果集中,從客戶端發(fā)送到服務器的唯一一個數(shù)據(jù)包是包含需執(zhí)行語句的數(shù)據(jù)包。而在使用服務器游標時,每一個FETCH語句都必須從客戶端發(fā)送到服務器,然后在服務器中將它解析并編譯為執(zhí)行計劃。除非要再sqlserver上進行很復雜的數(shù)據(jù)操作。基本知識一. SQL Server 2005 支持兩種請求游標的方法 1.Transact-. 閱讀全文
走向DBA[MSSQL篇] 積跬步行千里
2011-10-25 22:29 by 熬夜的蟲子, 1670 閱讀, 收藏,
摘要:
不知道大家對SQL系列的感不感興趣 先在這里探個路 本文針對的讀者為SQL菜鳥 歡迎大牛駁論或者補充既然是探路篇 就先說下數(shù)據(jù)過濾中的偏門匹配 希望能給大家?guī)硎斋@create table 蟲子的臨時表( 編號 varchar(30), 名稱 varchar(30), 備注 varchar(100))insert into 蟲子的臨時表 values('編號01','name01','這是一個奇跡')insert into 蟲子的臨時表 values('編號02','name02','這是一個神話' 閱讀全文
小試RavenDB
2011-06-22 14:49 by 熬夜的蟲子, 850 閱讀, 收藏,
摘要:
結果不是很理解 簡單分享下了Raven DB是一款基于.net 的文檔數(shù)據(jù)庫。其特點為高性能、模式靈活、可擴展NoSQL數(shù)據(jù)存儲。不同于傳統(tǒng)的RDMBS,Raven 沒有數(shù)據(jù)行和列。而是存儲各種json格式的文檔。也就是說你可以不必預先定義存儲數(shù)據(jù)的格式,而是將數(shù)據(jù)以文檔為單位來執(zhí)行管理。Raven 提供了強大的索引機制、允許定義linq查詢。Raven適用的場景:web相關(用戶會話、購物車等),因為可以存儲和檢索單個遠程調用請求的數(shù)據(jù),持久化會話狀態(tài);動態(tài)實體(例如用戶定制的實體對象、具有很多可選字段等等);大型數(shù)據(jù)集(例如用戶上傳的小圖片等等)。測試下性能 遠沒有mongodb好先嘗試單 閱讀全文
數(shù)據(jù)庫安全
2011-06-22 14:48 by 熬夜的蟲子, 556 閱讀, 收藏,
摘要:
小談一下數(shù)據(jù)庫的安全理論先分3點從全局來看對操作系統(tǒng)的安全需求:防止對DBMS的非法訪問和修改,保護存儲的數(shù)據(jù)、文件的安全性,對數(shù)據(jù)庫用戶的認證對數(shù)據(jù)庫系統(tǒng)本身的安全需求:用戶認證管理、訪問控制、審計,數(shù)據(jù)庫的穩(wěn)定性,保證數(shù)據(jù)的安全性與完整性,完善的恢復功能,數(shù)據(jù)加密對數(shù)據(jù)庫應用系統(tǒng)的安全需求:訪問控制、認證管理,對數(shù)據(jù)庫的保護防止非法訪問和修改,自身的穩(wěn)定性舉一個實例SQL注入:利用現(xiàn)有應用程序,將(惡意)的SQL命令注入到后臺數(shù)據(jù)庫引擎執(zhí)行的能力,這是SQL注入的標準釋義。 所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入域或頁面請求的查詢字符串,欺騙服務器執(zhí)行惡意的SQ 閱讀全文
SQL Server2005索引簡介
2011-06-22 14:48 by 熬夜的蟲子, 380 閱讀, 收藏,
摘要:
索引簡介:索引是與表關聯(lián)的磁盤上結構,可以加快從表中檢索行的速度。索引包含由表中的一列或多列生成的鍵。這些鍵存儲在一個結構(B 樹)中,使 SQL Server 可以快速有效地查找與鍵值關聯(lián)的行。索引構造:聚集索引:根據(jù)數(shù)據(jù)行的鍵值在表中排序和存儲這些數(shù)據(jù)行。索引定義中包含聚集索引列。每個表只能有一個聚集索引,因為數(shù)據(jù)行本身只能按一個順序排序。非聚集索引:非聚集索引具有獨立于數(shù)據(jù)行的結構。非聚集索引包含非聚集索引鍵值,并且每個鍵值項都有指向包含該鍵值的數(shù)據(jù)行的指針。從非聚集索引中的索引行指向數(shù)據(jù)行的指針稱為行定位器。行定位器的結構取決于數(shù)據(jù)頁是存儲在堆中還是聚集表中。對于堆,行定位器是指向行的 閱讀全文
sql高并發(fā)量處理研究
2011-06-22 14:48 by 熬夜的蟲子, 2500 閱讀, 收藏,
摘要:
基于web方面的減壓已經在博文http://www.rzrgm.cn/dubing/archive/2011/06/22/2087025.html中介紹過 就不贅述了 本章我們著重介紹下基于數(shù)據(jù)庫的解決方案 1.分庫分表 按業(yè)務來算,橫向分庫、縱向分表。 2.數(shù)據(jù)庫集群和庫表散列大型網站都有復 閱讀全文
mongodb相關
2011-06-22 14:47 by 熬夜的蟲子, 694 閱讀, 收藏,
摘要:
一.簡介。 Mongo是一個高性能,開源,無模式的文檔型數(shù)據(jù)庫。其名字來自humongous這個單詞的中間部分,從名字可見其野心所在就是海量數(shù)據(jù)的處理。和mysql一樣,一個mongod服務可以建立多個數(shù)據(jù)庫。每個數(shù)據(jù)庫可以有多張表,這里的表成為collection,每個collection可以存放多個文檔(document),每個文檔都以bson(binary json)的形式存放于硬盤中。跟關系型數(shù)據(jù)庫不一樣的地方時,他是以單文檔為單位存儲的,你可以任意的給一個或一批文檔新增或刪除字段,而不對其他文檔造成影響,這就是所謂的schema-free,也是文檔型書苦苦最主要的優(yōu)點。跟一般的key 閱讀全文
浙公網安備 33010602011771號