SQL Server 2008ÐÐÊý¾ÝºÍÒ³Êý¾ÝѹËõ½âÃÜ
SQL ServerµÄÐÔÄÜÖ÷Ҫȡ¾öÓÚ´ÅÅÌI/OЧÂÊ£¬Ìá¸ßI/OЧÂÊijÖÖ³ÌÐòÉϾÍÒâζ×ÅÌá¸ßÐÔÄÜ¡£SQL Server 2008ÌṩÁËÊý¾ÝѹËõ¹¦ÄÜÀ´Ìá¸ß´ÅÅÌI/O¡£
Êý¾ÝѹËõÒâζ׿õСÊý¾ÝµÄÓдÅÅÌÕ¼ÓÃÁ¿£¬ËùÒÔÊý¾ÝѹËõ¿ÉÒÔÓÃÔÚ±í£¬¾Û¼¯Ë÷Òý£¬·Ç¾Û¼¯Ë÷Òý£¬ÊÓͼË÷Òý»òÊÇ·ÖÇø±í£¬·ÖÇøË÷ÒýÉÏ¡£
Êý¾ÝѹËõ¿ÉÒÔÔÚÁ½¸ö¼¶±ðÉÏʵÏÖ£ºÐ춱ðºÍÒ³¼¶±ð¡£Ò³¼¶±ðѹËõ°üÀ¨Ð춱ðѹËõ¡£±íºÍË÷ÒýÔÚ´´½¨µÄͬʱ¾Í¿ÉÒÔѹËõ£¬Ò²¿ÉÒÔʹÓÃAlter Table Rebuild With »òÊÇ Alter Index Rebuild WithÓ﷨ѹËõÒÑ´æÔÚ±í»òÊÇË÷Òý¡£µ±¶Ñ(Heap)ÉϵÄѹËõ״̬¸Ä±äʱ£¬ËùÓеķǾۼ¯Ë÷ÒýÒ²»áÖؽ¨¡£
ÏÂÃæÈÃÎÒÃÇ¿´¿´Ñ¹Ëõ¹ý³Ìµ½µ×¶¼×öÁËЩʲô¡£
ÐÐѹËõ£º
1.¼õÉÙÔªÊý¾ÝÍ·¼Ç¼Êý¾Ý¡£
2.ËùÓеÄÊýÖµÀàÐÍ(integer,decimal,float)»ò»ùÓÚÊýÖµÀàÐ͵ÄÀàÐͶ¼»á±»Ñ¹Ëõ(datetime,money)¡£±ÈÈ磬100±»´æÔÚÒ»¸öintÐÍ×Ö¶ÎÖУ¬Õ¼4룬µ«ÊÇ´Ó0~255Ö»ÐèÒª1λ£¬Ñ¹Ëõºó£¬¾Í½ÚÊ¡ÁË3byte¿Õ¼ä¡£
3.CharºÍNChar¶¼±»´æ·ÅÓڿɱ䳤¶ÈµÄÀàÐÍÖС£ÔÒòͬÉÏ¡£±ÈÈ磬CSDN±»´æÔÚChar(10)ÖУ¬µ«ÊÇËüÖ»ÐèÒªChar(4)¿Õ¼ä£¬ËùÒÔѹËõºó¾ÍÊÍ·ÅÁËChar(6)¸ö¿Õ¼ä¡£
4.ËùÓÐÀàÐ͵ÄNULLºÍ0¶¼²»Õ¼×Ö½ÚÁË¡£
ҳѹËõ£º
1.½øÐÐÐÐѹËõ¡£
2.Ç°±êѹËõ£ºÃ¿Ò»Ò³ÖеÄËùÓÐÁУ¬ÔÚÐбêÍ·ÏÂÃ棬ÿÐж¼´æ´¢×ÅÒ»¸öÐж¨ÒåÖµ£¬Ñ¹Ëõºó£¬ËùÓÐÐеĶ¨ÒåÖµ¶¼±»Ìæ»»³ÉÐÐÍ·ÖµµÄÒýÓá£
3.×ÖµäѹËõ£º×ÖµäѹËõºÍÇ°±êѹËõÀàËÆ¡£Ç°±êѹËõÖУ¬Ò»¸öÓëÆäËûÆÕֵͨ²»Í¬µÄÖµ±»¶¨Ò嵽ÿһÁÐÉÏ¡£µ«ÊÇ×ÖµäѹËõÖУ¬Ã¿Ò»Ò³ÖÐËùÓÐÁеÄÆÕֵͨ±»´æÔÚÏÂÒ»ÐеÄÐÐÍ·Ç°Ã档Ȼºó£¬ÕâЩֵ±»Ìæ»»³ÉÐÂÐеÄÒýÓÃÖµ¡£
ÏÂÃæÎÒÃÇÀ´¿´Ò»¸öÀý×Ó:
USE tempdb
GO
CREATE TABLE TestCompression (col1 INT, col2 CHAR(50))
GO
INSERT INTO TestCompression VALUES (10, 'compression testing')
GO 5000
-- Original
EXEC sp_spaceused TestCompression
GO
-- DATA_COMPRESSION = ROW
ALTER TABLE TestCompression
REBUILD WITH (DATA_COMPRESSION = ROW);
GO
EXEC sp_spaceused TestCompression
GO
-- DATA_COMPRESSION = PAGE
ALTER TABLE TestCompression
REBUILD WITH (DATA_COMPRESSION = PAGE);
GO
EXEC sp_spaceused TestCompression
GO
-- DATA_COMPRESSION = NONE
ALTER TABLE TestCompression
REBUILD WITH (DATA_COMPRESSION = NONE);
GO
EXEC sp_spaceused TestCompression
GO
Ïà¹ØÎĵµ£º
sql2005ÖÐÒ»¸öxml¾ÛºÏµÄÀý×Ó ÊÕ²Ø
¸ÃÎÊÌâÀ´×ÔÂÛ̳ÌáÎÊ£¬ÑÝʾSQL´úÂëÈçÏÂ
--½¨Á¢²âÊÔ»·¾³
set nocount on
create table test(ID varchar(20),NAME varchar(20))
insert into test select '1','aaa'
insert into test select '1','bbb'
insert into test select '1','ccc'
insert into test select '2','ddd'
inser ......
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
¡¡¡¡SQL·ÖÀࣺ
¡¡¡¡DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
¡¡¡¡DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
¡¡¡¡DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
¡¡¡¡Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
¡¡¡¡1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
......
--
¾ÛºÏº¯Êý
use
pubs
go
select
avg
(
distinct
price)
--
Ëãƽ¾ùÊý
from
titles
where
type
=
'
business
'
go
use
pubs
go
select
max
(ytd_sales)
--
×î´óÊý
from
titles
go
use
pubs
go
select
min
(ytd_sales)
--
×îСÊý
fr ......
ÓÅ»¯´æ´¢¹ý³ÌÓкܶàÖÖ·½·¨£¬ÏÂÃæ½éÉÜ×î³£ÓõÄ7ÖÖ¡£
1.ʹÓÃSET NOCOUNT ONÑ¡Ïî
ÎÒÃÇʹÓÃSELECTÓï¾äʱ£¬³ýÁË·µ»Ø¶ÔÓ¦µÄ½á¹û¼¯Í⣬»¹»á·µ»ØÏàÓ¦µÄÓ°ÏìÐÐÊý¡£Ê¹ÓÃSET NOCOUNT ONºó£¬³ýÁËÊý¾Ý¼¯¾Í²»»á·µ»Ø¶îÍâµÄÐÅÏ¢ÁË£¬¼õСÍøÂçÁ÷Á¿¡£
2.ʹÓÃÈ·¶¨µÄSchema
ÔÚʹÓÃ±í£¬´æ´¢¹ý³Ì£¬º¯ÊýµÈµÈʱ£¬×îºÃ¼ÓÉÏÈ·¶¨µÄSchema¡£ÕâÑù¿ÉÒÔÊ ......