SQL管理過(guò)程中踩過(guò)的那些坑
點(diǎn)擊關(guān)注上方“SQL數(shù)據(jù)庫(kù)開(kāi)發(fā)”,
設(shè)為“置頂或星標(biāo)”,第一時(shí)間送達(dá)干貨
作者:
Woodytu
https://www.cnblogs.com/woodytu/p/5280838.html
答:頁(yè)或page,8kb大小,上一層是區(qū),一個(gè)區(qū)有8個(gè)頁(yè),共64k。
答:堆表沒(méi)有聚集索引,非堆表有,看具體情況,可以是聚集索引和非聚集索引。
答:總的有聚集索引和非聚集索引,另外有覆蓋索引和過(guò)濾索引。
聚集索引和非聚集索引都是B樹(shù)結(jié)果,區(qū)別是聚集索引的葉子節(jié)點(diǎn)保存的是表的聚集鍵,非聚集索引根據(jù)所在表的不同,如果在聚集表(表里已經(jīng)有一個(gè)聚集索引),則頁(yè)子節(jié)點(diǎn)保存的是指向聚集索引的聚集鍵,如果在堆表(沒(méi)有索引),則葉子節(jié)點(diǎn)保存的是RID(即文件號(hào):頁(yè)號(hào):槽號(hào))。
覆蓋索引是非聚集索引的葉子節(jié)點(diǎn)也保存了要查詢的列,可以用來(lái)避免書(shū)簽查找。過(guò)濾索引包含條件的索引,這些索引只針對(duì)符合條件的數(shù)據(jù)進(jìn)行建立,可以針對(duì)命中這些條件的記錄提高查詢效率。
答:4個(gè),mater,model,msdb,tempdb。
其實(shí)還有兩個(gè)系統(tǒng)數(shù)據(jù)庫(kù),一個(gè)是Resource Database,另一個(gè)是distribution(建了復(fù)制才有)。
答:看下執(zhí)行計(jì)劃,看看是不是缺少索引,還是統(tǒng)計(jì)信息過(guò)期,還是具體的查詢語(yǔ)句問(wèn)題。
答:從右到左,從下到上。
答:可以使用SET STATISTICS IO ON。
答:目前只了解過(guò)Profile,可以用它來(lái)跟蹤SQL語(yǔ)句,區(qū)別不知道。
CREATE TABLE T
(ID INT IDENTITY(1,1),
aqty INT,
bqty INT)2 2 3
3 2 1
4 3 5
....
假設(shè)數(shù)據(jù)有幾百萬(wàn),現(xiàn)在有個(gè)語(yǔ)句很慢:
SELECT ID
FROM T
WHERE aqty>bqty答:可以參考下分布性查詢或分布性事務(wù)
答:可以嘗試取消外鍵約束,再用truncate后加會(huì)外鍵約束。
答:可以先進(jìn)行一次完成備份,收縮下日志;空間允許的情況下,先修改日志文件大小,待收縮后,再還原為原來(lái)的大小。sys.dm_db_log_space_usage
答:可以的,禁用sa并不會(huì)對(duì)JOB有什么影響,依然可以正常執(zhí)行。
答:一般小表用SSMS可以修改成功,大表會(huì)提示超時(shí),只能用T-SQL語(yǔ)句來(lái)修改。
答:UNION會(huì)去掉重復(fù)數(shù)據(jù),UNION ALL不會(huì)去掉重復(fù)數(shù)據(jù),UNION會(huì)消耗更多的資源去查找并去掉重復(fù)數(shù)據(jù)。如果確認(rèn)兩個(gè)查詢無(wú)重復(fù)記錄用UNION ALL更好些,不需要去重步驟
答:network service。
答:設(shè)置host文件。必需創(chuàng)建證書(shū)。這是鏡像在域或非域中最大的區(qū)別。
答:表必須有主鍵
DECLARE @demo VARCHAR
SET @demo = '你猜猜會(huì)怎樣?'
SELECT @demoDECLARE @demo VARCHAR
SET @demo = '123'
SELECT @demo如果使用的是NVARCHAR則默認(rèn)長(zhǎng)度是2。
USE AdventureWorks
GO
DECLARE @date DATE = '2013-09-30'
SELECT SalesOrderID,
SalesOrderDetailID,
ModifiedDate
FROM Sales.SalesOrderDetail
WHERE CONVERT(VARCHAR(20), ModifiedDate, 23) = CONVERT(VARCHAR(20), @date, 23)USE AdventureWorks
GO
DECLARE @date DATE = '2013-09-30'
SELECT SalesOrderID,
SalesOrderDetailID,
ModifiedDate
FROM Sales.SalesOrderDetail
WHERE ModifiedDate = CONVERT(datetime,@date)答:使用臨時(shí)表,臨時(shí)表上可以建立索引,可以使用統(tǒng)計(jì)信息來(lái)優(yōu)化。
完成大概5~8份文檔,所以你需要有一定的文檔編寫(xiě)水平。 協(xié)助完成數(shù)據(jù)庫(kù)源代碼管控任務(wù)。 逐步接手目前為止8臺(tái)服務(wù)器大概60個(gè)數(shù)據(jù)庫(kù),目前只用了事務(wù)復(fù)制 常規(guī)管理包含但可能不僅限于: 一年之內(nèi)逐步讀完這些書(shū)

最后給大家分享我寫(xiě)的SQL兩件套:《SQL基礎(chǔ)知識(shí)第二版》和《SQL高級(jí)知識(shí)第二版》的PDF電子版。里面有各個(gè)語(yǔ)法的解釋、大量的實(shí)例講解和批注等等,非常通俗易懂,方便大家跟著一起來(lái)實(shí)操。
有需要的讀者可以下載學(xué)習(xí),在下面的公眾號(hào)「數(shù)據(jù)前線」(非本號(hào))后臺(tái)回復(fù)關(guān)鍵字:SQL,就行
數(shù)據(jù)前線
后臺(tái)回復(fù)關(guān)鍵字:1024,獲取一份精心整理的技術(shù)干貨
后臺(tái)回復(fù)關(guān)鍵字:進(jìn)群,帶你進(jìn)入高手如云的交流群
記得幫忙點(diǎn)「贊」和「在看」↓
謝謝啦

