萌萌妈妈 发表于 2015-1-16 22:37:15

MSSQL网站制作之SQL优化

“数据行级锁定”的意思是指在事务操作的执行过程中锁定正在被处理的个别记录,不让其他用户进行访问。这种锁定将影响到(但不限于)SELECT、LOCKINSHAREMODE、SELECT、FORUPDATE命令以及INSERT、UPDATE和DELETE命令。优化
客岁做了一个信息类网站,因为事先数据量不是很年夜,以是SQL语句写的很任意,没做甚么优化,
数据库也没做甚么索引,由于在不妥时数据量很少,以是也看不出来甚么,但厥后,跟着数据库的增添,
显现入手下手愈来愈慢,当数据到达三百多万时,就常常呈现没法会见的毛病了,我觉得是数据库的功能有成绩。因而对数据库举行了优化(调最小内存占用,和最年夜内存),事先有一些效果,固然会见仍是慢,但最少不堕落了。厥后到数据到达400多万时,又呈现不克不及会见的毛病了,因而,我决意对SQL语句及程序举行优化和创建索引。
起首是创建索引,由于经由实验,我发明慢的中央次要是由于有排序,以是决意对排序字段UPDATETIME
创建一个聚簇索引,注:由于UPDATETIME,在一天中的信息,是不异的,以是合适创建聚簇索引。
创建聚簇索引后,速率有必定的进步,但仍是感到有些慢。
然后又入手下手对程序举行改革,起首是把不必要的查询,和排序往失落,然后是对必要排序的中央只管利用UPDATETIME,如许速率就进步很多了。
最初在SQL查询中,不利用*,而是器具体的字段来取代它,如许速率就能够到达基础的请求了。
呆板设置:RAM:256CPU:2.4(一个)HARDDISK:SCSI36GDELLSQLSERVER2000
以上只是我团体的一些看法,请妙手斧正一下哦。
由于我只是复杂的进修了一下SQL言语。
对于update操作,只需要把event中的旧行和新行值对调即可。

海妖 发表于 2015-1-19 18:58:18

学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!

灵魂腐蚀 发表于 2015-1-28 09:07:23

发几份SQL课件,以飨阅者

谁可相欹 发表于 2015-2-5 15:19:40

varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。

老尸 发表于 2015-2-12 12:29:33

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

深爱那片海 发表于 2015-3-3 03:21:21

varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。

莫相离 发表于 2015-3-11 09:12:28

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

再现理想 发表于 2015-3-18 02:52:35

SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。

小魔女 发表于 2015-3-25 09:57:01

不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
页: [1]
查看完整版本: MSSQL网站制作之SQL优化