Time of Update: 2017-09-14
設計1個應用系統似乎並不難,但是要想使系統達到最優化的性能並不是一件容易的事。 在開發工具、資料庫設計、應用程式的結構、查詢設計、介面選擇等方面有多種選擇,這取決於特定的應用需求以及開發隊伍的技能。 本文以SQL Server為例,從後臺資料庫的角度討論應用程式性能優化技巧,並且給出了一些有益的建議。 1 資料庫設計 要在良好的SQL Server方案中實現最優的性能,最關鍵的是要有1...
Time of Update: 2017-09-14
要實現對海量資料的導入問題,把幾百萬條資料一次導入sqlserver中,如果使用普通的insert語句進行寫出的話,恐怕沒幾個小時完無法完成,先是考慮使用bcp,但這是基於命令列的,對使用者來說友好性太差,實際不大可能使用 ;最後決定使用BULK INSERT語句實現,BULK INSERT也可以實現大資料量的導入,而且可以通過程式設計實現,介面可以做的非常友好,它的速度也很高:導入100萬條資料不...
Time of Update: 2017-09-14
---------------------------------------------------------------------- 1、SQL資料庫恢復模型 ---------------------------- ------------------------------------------ 1)完全恢復模型 ----------------- (1)備份時要備份資料庫的資料...
Time of Update: 2017-09-14
裡僅僅用到了一種方式而已,把資料庫檔案備份到磁片然後在恢復. eg: /* 通過SQL 語句備份資料庫 */ BACKUP DATABASE mydb TO DISK ='C:DBBACKmydb.BAK' --這裡指定需要備份資料庫的路徑和檔案名,注意:路徑的資料夾是必須已經創建的.檔案名可以使用日期 來標示 /* 通過SQL語句還原資料庫 */ USE master ...
Time of Update: 2017-09-14
1.資料和日誌檔分開存放在不同磁片上 資料檔案和日誌檔的操作會產生大量的I/O。 在可能的條件下,日誌檔應該存放在一個與資料和索引所在的資料檔案不同的硬碟上以分散I/O,同時還有利於資料庫的災害復原。 2.tempdb資料庫單獨存放在不同磁片上 tempdb資料庫是其他所有資料庫都有可能使用的臨時資料庫。 當使用select into、在沒建立索引的列上執行Orderby時就會...
Time of Update: 2017-09-14
關於資料庫的邏輯設計,是一個很廣泛的問題。 本文主要針對開發應用中遇到在MS SQL Server上進行表設計時,對表的主鍵設計應注意的問題以及相應的解決辦法。 主鍵設計現狀和問題 關於資料庫表的主鍵設計,一般而言,是根據業務需求情況,以業務邏輯為基礎,形成主鍵。 比如,銷售時要記錄銷售情況,一般需要兩個表,一個是銷售單的概要描述,記錄諸如銷售單號、總金額一類的情況,另外一個表記錄每種商品的數...
Time of Update: 2017-09-14
設定過濾條件提高索引效率 優秀的索引是SQL Server資料庫性能的關鍵,然而高效的索引都是經過精心設計而成的。 眾所周知,主鍵是儲存資料物件的唯一標識,如果資料表中沒有聚簇索引,為了維護主鍵的唯一性,SQL Server資料庫在預設情況下將為主鍵創建聚簇索引(Clustered index), 除非使用者特別指定將索引創建為非聚簇索引(Non-clustered index)。 毫無疑問,我們...
Time of Update: 2017-09-14
想必每個DBA都喜歡挑戰資料導入時間,用時越短工作效率越高,也充分的能夠證明自己的實力。 實際工作中有時候需要把大量資料導入資料庫,然後用於各種程式計算,本文將向大家推薦一個挑戰4秒極限讓百萬級資料瞬間導入SQL Server實驗案例。 本實驗將使用5中方法完成這個過程,並詳細記錄各種方法所耗費的時間。 所用到工具為Visual Studio 2008和SQL Server 2000、SQL S...
Time of Update: 2017-09-14
mssql sql 字串截取實例代碼 關於字串截取我們用substring函數 substring ( expression , start , length ) 返回字元、binary、text&. ..
Time of Update: 2017-09-14
mssql 中文字元處理(字元集編碼和排序規則) sqlserver中文處理涉及到字元集編碼和排序規則,是個非常糾結的問題。 sql code --ascii字元 select n,x=cast(n as binary(2)),u=Nchar(n) from nums where n between 32 and 126 --unicode中文字元 select n, x=cast(n ...
Time of Update: 2017-09-14
mssql 字串的拼接(join)與切分(split) 經常有高手使用select number from master.. spt_values where type = 'p',這是很妙的方法;但這樣只有2048個數字,而且語句太長,不夠方便。 總之,一個數位輔助表(10萬還是100萬根據個人需要而定),你值得擁有。 2. 日曆表 有用指數:★★★☆☆ 《sql程式設計風格》一書建議一個企業...
Time of Update: 2017-09-14
一、備份資料庫 1、企業管理器 2、SQL語句(完全備份):backup database 資料庫 to disk='c:您的備份檔案名' 二、還原資料庫 1、企業管理器 2、SQL語句:restore database 資料庫 from di sk='c:您的備份檔案名' 以下為具體的操作步驟: 一、備份資料庫 1、打開SQL企業管理器,在主控台根目錄中依次點開Microsoft SQL ...
Time of Update: 2017-09-14
今天給大家介紹六條比較有用的MySQL的SQL語句,可能很多人都通過PHP來實現這些功能。 1. 計算年數 你想通過生日來計算這個人有幾歲了。 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofbirth)), '%Y') + 0; 2. 兩個時間的差 取得兩個 datetime 值的差。 假設 dt...
Time of Update: 2017-09-14
1.用系統管理員登陸系統。 2.停止mysql教程的服務。 3.進入命令視窗,然後進入mysql的安裝目錄,比如我的安裝目錄是c:mysql,進入c:mysqlbin 4.跳過許可權檢查啟動mysql, c:mysqlbin>mysqld-nt -- skip-grant-tables 5.重新打開一個視窗,進入c:mysqlbin目錄,設置root的新密碼 c:mysqlbi...
Time of Update: 2017-09-14
在現實工作中,定期備份資料庫是一項極為重要的事情。 當我們使用MySQL時,在資料庫備份方面有許多選擇的餘地,而本文將向讀者介紹如何使用MySQL的mysqldump來備份資料庫。 一、資料備份的重要性 工作中,如果意外刪除了重要的檔或者目錄的話,那結果可就慘了。 尤其是當誤刪除的資料涉及重要的客戶或者關鍵專案,並且這些資料無法輕易重新創建的時候,那滋味,不用我說你也能想像得到。 不巧的...
Time of Update: 2017-09-14
眾所周知,在任何一個資料庫中,查詢優化都是不可避免的一個話題。 對於資料庫工程師來說,優化工作是最有挑戰性的工作。 MySQL開源資料庫也不例外。 其實筆者認為,資料庫優化並沒有大家所想像的那麼苦難。 通常情況下,大家可以從以下四個細節出發來做好MySQL資料庫的查詢優化工作。 一、利用EXPLAIN關鍵字來評估查詢語句中的缺陷 如下圖所示,現在筆者在資料庫中執行了一條簡單的Select...
Time of Update: 2017-09-14
眾所周知,系統讀取資料時,從記憶體中讀取要比從硬碟上速度要快好幾百倍。 故現在絕大部分應用系統,都會最大程度的使用緩存(記憶體中的一個存儲區域),來提高系統的運行效率。 MySQL資料庫也不例外。 在這裡,筆者將結合自己的工作經驗,跟大家探討一下,MySQL資料庫中緩存的管理技巧:如何合理配置MySQL資料庫緩存,提高緩存命中率。 一、什麼時候應用系統會從緩存中獲取資料? 資料庫從伺服器上讀取...
Time of Update: 2017-09-14
你是否對獲得MySQL改變字元集的實際操作感到十分頭疼?不用急,以下的文章將會給你正確的解答方案,以下的文章主要是介紹獲得MySQL改變字元集的方案,下面就是相關內容的具體描述。 ROR+MySQL5 utf8搭配問題解決方案 c# +MySQLDriver.dll 亂碼問題 1、用 SET 語法來指定,不加 "GLOBAL" 的話就只對本次會話有效。 ...
Time of Update: 2017-09-14
我們在查詢資料時,往往需要指定返回幾行資料。 如現在有一個B/S架構的應用程式,其每一頁可能只顯示30條記錄。 此時為了提高顯示的效率,一般就要求資料庫一次只返回三十條紀錄。 等使用者按下一頁的時候,再從資料庫中返回30條記錄,以此類推。 這可以縮短資料顯示的時間。 當查詢的基表比較大時,這個措施非常有效。 此時可以使用Limit關鍵字來實現這個需求。 Limit子句可以被用於強制Select查詢語句返回指...
Time of Update: 2017-09-14
對於Windows主機 ============== 假想環境: MySQL 安裝位置:C:MySQL 論壇資料庫名稱為:bbs MySQL root 密碼:123456 資料庫備份目的地:D:db_backup 程 序代碼 @echo off C:MySQLbinmysqladmin -u root --password=123456 shutdown ...