海妖 发表于 2015-1-16 14:19:22

SQL基本教程及代码优化(二)

由MySQL用来存储数据的文件格式以已经被广泛地测试过,但是总是有外部情况可以导致数据库表被破坏:索引的利用(续2)
·1.2.5.按期收拾索引碎片
–Dbccindexdefrag
·DBCCINDEXDEFRAG(AdventureWorks,Production.Product,PK_Product_ProductID)

–DBCCDBREINDEX
·DBCCDBREINDEX(HumanResources.Employee,PK_Employee_EmployeeID,80);

–DBCCSHOWCONTIG
·DBCCSHOWCONTIG(HumanResources.Employee)

–sys.dm_db_index_physical_stats
–UPDATESTATISTICS
·UPDATESTATISTICSONProduction.ProductWITHFULLSCAN,NORECOMPUTE

1.3束缚VS触发器
·Check要优先于Trigger
·Check只能完成绝对复杂的营业划定规矩
·Trigger能够完成几近一切的营业划定规矩(如数据保护前提的判别、流程主动化等)
·只管使栏位不成为空(如一切数字栏位设置不成为空,默许值为0)

1.3.1利用束缚
·在创立表时创立CHECK束缚
–createtablet_a(aintnotnull,constraintck_t_acheck(a>0))

·在现有的表中创立CHECK束缚
–altertablet_aaddconstraintck_t_acheck(a>1)

·删除CHECK束缚
–altertablet_adropconstraintck_t_a

·禁用CHECK束缚
–altertablet_anocheckconstraintck_t_a

·启用CHECK束缚
–altertablet_acheckconstraintck_t_a

·修正CHECK束缚
–先drop后add

1.4栏位数据范例的选择
·1.准确数字与近似数字
–准确数字:bigint、int、smallint、tinyint、bit、decimal、numeric、money、smallmoney
–近似数字:float、real
·2.数据范例优先级
–(1)用户界说数据范例(最高)
(2)sql_variant
(3)xml
(4)datetime
(5)smalldatetime
(6)float
(7)real
(8)decimal
(9)money
(10)smallmoney
(11)bigint
(12)int
(13)smallint
(14)tinyint
(15)bit
(16)ntext
(17)text
(18)image
(19)timestamp
(20)uniqueidentifier
(21)nvarchar
(22)nchar
(23)varchar
(24)char
(25)varbinary
(26)binary(最低)

·3.Unicode数据
–Nchar、nvarchar、ntext

·4.Sql2005新增数据范例
–Nchar(max)、nvarchar(max)、varbinary(max)、char(max)、varchar(max)、xml

·5.text数据范例公用操纵函数及限定
–READTEXTUPDATETEXT

·只管利用更小的数据范例
–bit<tinyint<smallint<integer<bigint

·利用varchar取代image只保留图片路径
·假如栏位值只能为数字,利用数字范例要优于字符范例
·注重float等范例数据的对照
declare@xfloat,@yfloat
select@x=1.0000000000000000000000000000000000000
select@y=1
if@x=@y
print=
else
print
因此,我们的第一个“米”,就是二进制日志binlog必须是rowbased的。在rowbase下,二进制日志binlog同时记录了更新前后的整行记录。

再见西城 发表于 2015-1-18 12:53:18

对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。

再现理想 发表于 2015-1-26 17:58:20

从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。

愤怒的大鸟 发表于 2015-2-4 20:54:29

所以你总能得到相应的升级版本,来满足你的需求。

第二个灵魂 发表于 2015-2-10 10:20:58

多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油

小妖女 发表于 2015-3-1 10:33:53

还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。

乐观 发表于 2015-3-17 09:20:08

我个人认为就是孜孜不懈的学习

爱飞 发表于 2015-3-24 06:01:16

呵呵,这就是偶想说的
页: [1]
查看完整版本: SQL基本教程及代码优化(二)