Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

SQL SERVERµ¥Ò³Êý¾Ý´æ´¢ÐÐÊý¼ÆËã

 Ó¦ÓÃʾÀý£º
-- ´´½¨2¸ö²âÊÔ±í
CREATE TABLE [dbo].[Table_2019]([Data] [nchar](2019) NOT NULL)
CREATE TABLE [dbo].[Table_2020]([Data] [nchar](2020) NOT NULL)
go
-- Ìî³äÊý¾Ý
declare @i int
set @i = 0
while(@i < 20)
begin
    insert Table_2019(Data) values('')
    insert Table_2020(Data) values('')
    select @i = @i + 1
end
go
²é¿´Ã¿¸ö±íËùÕ¼ÓõĿռ䣬½á¹û£º
Table_2020 ±íÊý¾ÝÕ¼ÁË 160kb £¬Table_2019 ±íÊý¾ÝÕ¼ÁË 80 kb
½âÊÍ£º
SQL ServerÒ³¶¨Ò壺
ÔÚ SQL Server ÖУ¬Ò³µÄ´óСΪ 8 KB¡£ÕâÒâζ×Å SQL Server Êý¾Ý¿âÖÐÿ MB ÓÐ 128 Ò³¡£Ã¿Ò³µÄ¿ªÍ·ÊÇ 96 ×ֽڵıêÍ·£¬ÓÃÓÚ´æ´¢ÓйØÒ³µÄϵͳÐÅÏ¢
ÔÚ SQL Server 2005 ÖУ¬Ðв»ÄÜ¿çÒ³£¬µ«ÊÇÐеIJ¿·Ö¿ÉÒÔÒÆ³öÐÐËùÔÚµÄÒ³£¬Òò´ËÐÐʵ¼Ê¿ÉÄܷdz£´ó¡£Ò³µÄµ¥¸öÐÐÖеÄ×î´óÊý¾ÝÁ¿ºÍ¿ªÏúÊÇ 8,060 ×Ö½Ú (8 KB)¡£
ÔÚÊý¾ÝÒ³ÉÏ£¬Êý¾ÝÐнô½Ó×űêÍ·°´Ë³Ðò·ÅÖá£Ò³µÄĩβÊÇÐÐÆ«ÒÆ±í£¬¶ÔÓÚÒ³ÖеÄÿһÐУ¬Ã¿¸öÐÐÆ«ÒÆ±í¶¼°üº¬Ò»¸öÌõÄ¿¡£Ã¿¸öÌõÄ¿¼Ç¼¶ÔÓ¦ÐеĵÚÒ»¸ö×Ö½ÚÓëÒ³Ê׵ľàÀë¡£ÐÐÆ«ÒƱíÖеÄÌõÄ¿µÄ˳ÐòÓëÒ³ÖÐÐеÄ˳ÐòÏà·´¡£
¼ÆË㣺
¼ÆËã×ܵÄÐдóС£º
Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4
¹«Ê½ÖеÄÖµ 4 ÊÇÊý¾ÝÐеÄÐбêÌ⿪Ïú¡£
ÓÉÓÚncharÊǹ̶¨³¤¶È£¬ËùÒÔVariable_Data_Size=0
±£ÁôÐÐÖгÆÎª Null λͼµÄ²¿·ÖÒÔ¹ÜÀíÁеÄΪ¿ÕÐÔ¡£¼ÆËãÆä´óС£º
Null_Bitmap = 2 + ((Num_Cols + 7) / 8)
ÓÉÓÚÖ»ÓÐÒ»ÁУ¬ËùÒÔNull_Bitmap = 3
ÓÉÒÔÉÏÔ­Ôò¿ÉÒÔ¼ÆË㣺
nchar(2019): 2019×2+0+3+4=4045
nchar(2020): 2020×2+0+3+4=4047
΢Èí¸ø³öµÄÿҳÈÝÄÉÐÐÊý¼ÆË㹫ʽ£º
¼ÆËãÿҳµÄÐÐÊý£¨Ã¿Ò³ÓÐ 8096 ¸ö¿ÉÓÃ×Ö½Ú£©£º
Rows_Per_Page = 8096 / (Row_Size + 2)
ÒòΪÐв»¿çÒ³£¬ËùÒÔÿҳµÄÐÐÊýÓ¦ÏòÏÂÉáÈëµ½×î½Ó½üµÄÕûÊý¡£¹«Ê½ÖеÄÊýÖµ 2 ÊǼÆËãÐÐÊýʱÒýÈëµÄÐдóСÓàÁ¿¡£
nchar(2019): 8096/(4045+2)=2.000494193229
nchar(2020): 8096/(4047+2£©=1.999506050876
¾ÝÒÔÉϼÆË㣬¿ÉÒԵóö£¬Ò»Ò³¿ÉÒÔ´æ´¢Ö»ÓÐÒ»ÁÐnchar£¨2019£©Êý¾ÝµÄÐÐÊýΪ2ÐУ¬¶ø´æ´¢Ö»ÓÐÒ»ÁÐnchar£¨2020£©Êý¾ÝµÄÐÐÊýΪ1ÐС£


Ïà¹ØÎĵµ£º

ÅäÖÃSQL Server 2005 ÒÔÔÊÐíÔ¶³ÌÁ¬½Ó

SQL Server 2005 ¿ª·¢°æ²»ÔÊÐíÔ¶³ÌÁ¬½Ó¡£
¡¡¡¡ÒªÔÊÐíÔ¶³ÌÁ¬½ÓSQL Server 2005 ,ÐèÒªÍê³ÉÒÔϲ½Ö裺
•ÔÚSQLServer ʵÀýÉÏÆôÓÃÔ¶³ÌÁ¬½Ó¡£
•´ò¿ª·þÎñÆ÷ SQLBrowser ·þÎñ¡£
•ÅäÖ÷À»ðǽÒÔÔÊÐíSQLBrowser ·þÎñºÍSQLServer·þÎñÍøÂçͨÐÅ¡£
¡¡¡¡ÔÚSQLServer ʵÀýÉÏÆôÓÃÔ¶³ÌÁ¬½Ó
1.Ö¸Ïò“¿ªÊ¼->³ÌÐ ......

SQL ÈÕÆÚÅ̵ã

DECLARE @dt datetime
SET @dt=GETDATE()
DECLARE @number int
SET @number=3
--1£®Ö¸¶¨ÈÕÆÚ¸ÃÄêµÄµÚÒ»Ìì»ò×îºóÒ»Ìì
--A. ÄêµÄµÚÒ»Ìì
SELECT CONVERT(char(5),@dt,120)+'1-1'
--B. ÄêµÄ×îºóÒ»Ìì
SELECT CONVERT(char(5),@dt,120)+'12-31'
--2£®Ö¸¶¨ÈÕÆÚËùÔÚ¼¾¶ÈµÄµÚÒ»Ìì»ò×îºóÒ»Ìì
--A. ¼¾¶ÈµÄµÚÒ»Ìì
SELECT CON ......

SQL Serverȡϵͳµ±Ç°Ê±¼ä

getdate //»ñµÃϵͳµ±Ç°ÈÕÆÚ
datepart //»ñÈ¡ÈÕÆÚÖ¸¶¨²¿·Ö£¨ÄêÔÂÈÕʱ·Ö±í£©
getdate()º¯Êý£ºÈ¡µÃϵͳµ±Ç°µÄÈÕÆÚºÍʱ¼ä¡£·µ»ØÖµÎªdatetimeÀàÐ͵ġ£
Ó÷¨£ºgetdate()
Àý×Ó£º
select getdate() as dte,dateadd(day,-1,getdate()) as nowdat
Êä³ö½á¹û£º
dte nowdat
--------------------------- ----------------- ......

DBAµÄSQL Server 2005±¸·Ýά»¤¼Æ»®

×÷ΪһÃûDBA£¬ËûÃÇ×î³£¼ûµÄÈÕ³£ÈÎÎñÊÇ£º
1£©¶¨ÆÚÍê³ÉÊý¾Ý¿âµÄÍêÈ«±¸·Ý»ò²îÒ챸·Ý¡£
2£©¶¨ÆÚÇåÀí±¸·ÝÎļþ£¬ÒòΪ´æ´¢¿Õ¼äÓÐÏÞ£¬¿ÉÄÜÖ»ÐèÒª±£´æÒ»¸öʱÆÚ¶ÎÄÚµÄÎļþ(±ÈÈçÒ»ÖÜÄÚ»òÒ»ÔÂÄÚ)¡£
¶øÈçºÎ×öµ½ÕâÁ½µãÄØ£¿±ÊÕßÏàÐÅÔÚSQL SERVER2005°æ±¾³öÀ´Ö®Ç°ÒªÊµÏÖÕâÖÖ¹¦ÄÜ£¬ Ò²ÊÇ¿ÉÒÔʵÏֵģ¬Ö»ÊÇʵÏÖ¶¨ÆÚÇåÀí±¸·ÝÎļþÏԵò»ÄÇôֱ ......

sql¸ñʽ»¯ÈÕÆÚ

 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ