博文

优化数据库前,可以问自己的10个问题 (2006-05-31 21:41:00)

摘要:在优化你的数据库时,你可能没有用到这些细节的优点。以下是10个关于你的数据库性能的问题,需要你问问自己。   1. 假设你的数据库不需要存储特殊字符的能力,尤其是Unicode标准中规定的那些字符,你有没有在系统中把nchar类型替换成char之类的各种适用的字段类型?   2. 你是不是在用smalldatetime类型,而不是datetime?如果你不清楚这两种类型有什么区别,这是一个简单介绍:smalldatetime类型可以存储1900年1月1日至2079年6月6日的日期,而datetime类型把这一范围扩展到了1753年1月1日至9999年12月31日。你需要这么大的范围吗?   3. 你是不是例行公事地使用bit类型来代替smallint类型?如果是这样,你知道其中的代价吗?这对你的程序可能并没有影响,但smallint类型可以建立索引,bit类型不行。   4. SQL Server 2000在bit类型字段中允许空值,而且是默认的。有人希望这样,也有人不希望这样。   5. 你如何处理字段中的空值?默认方式是允许空值,但更好的办法是禁止空值,允许零长度的字符串。   6. 你想过表中能容纳的最多行数吗?你比较过这个数值和数据页的大小8060字节吗?   7. 你有没有好好利用标准字段?(去看看菜单里的工具->选项->标准字段)   8. 你的表中有没有一个时间戳字段?如果没有的话,你知道什么时候这种字段会有用处吗?   9. 你的表都有区块索引吗?你知道一个表什么时候应该有区块索引,什么时候一文不值吗?   10. 你在命名存储过程时有没有用sp_前缀?你有没有意识到这样做给性能带来了什么影响?   要避免这些常见的开发问题,一个很好的办法是使用SSW的SQL Auditor,它能审核的事情远远不止我所列出的10条。SQL Auditor的价格很合理,最好的一点是你可以下载测试版,试用20次之后再付费。SSW的试用策略吸引了我,可能因为我经常下载一些限制14天使用的试用软件,之后忘记运行它,直到试用期过去。 转自学校论坛……......

阅读全文(2967) | 评论:0

  CGI! (2006-05-30 22:26:00)

摘要:1. 定义: CGI(Common Gateway Interface)是HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 2. 功能: 绝大多数的CGI程序被用来解释处理杰自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。 3. 运行环境: CGI程序在UNIX操作系统上CERN或NCSA格式的服务器上运行。在其它操作系统(如:windows NT及windows95等)的服务器上也广泛地使用CGI程序,同时它也适用于各种类型机器。 4. CGI处理步骤: ⑴通过Internet把用户请求送到服务器。 ⑵服务器接收用户请求并交给CGI程序处理。 ⑶CGI程序把处理结果传送给服务器。 ⑷服务器把结果送回到用户。 5. CGI服务器配置: CGI程序不是放在服务器上就能顺利运行,如果要想使其在服务器上顺利的运行并准确的处理用户的请求,则须对所使用的服务器进行必要的设置。 配置:根据所使用的服务器类型以及它的设置把CGI程序放在某一 特定的目录中或使其带有特定的扩展名。 ⑴CREN格式服务器的配置: 编辑CREN格式服务器的配置文件通常为/etc/httpd.conf/ 在文件中加入:Exec cgi-bin/*/home/www/cgi-bin/*.exec 命令中出现的第一个参数cgi-bin/*指出了在URL中出现的目录 名字,并表示它出 现在系统主机后的第一个目录中,如: http://edgar.stern.nyn.edu/cgi-bin/ 命令中的第二个参数表示CGI程序目录放在系统中的真实路径。 CGI目录除了可以点网络文件放在同一目录中,也可以放在系统 的其它目录中,但必须保证在你的系统中也具有同样的目录。在 对服务器完成设置后,须重新启动服务器(除非HTTP服务器是用 inetd启动的)。 ⑵NCSA格式服务器的配置 在NCSA格式服务器上有两种方法进行设置: ①在srm.conf文件(通常在conf目录下)中加入: Script Alias/cgi-bin/cgi-bin/ Script Alias命令指出某一目录下的文件是可执行程序,且这 个命令是用来执行 这些程序的;此命令的两个参数与CERN格式服务器中的Exec命 令的参数的含意一样。 ②在srm.c......

阅读全文(2389) | 评论:0

IIS错误代码大全(2006-05-27 21:11:00)

摘要:400 无法解析此请求。   401.1 未经授权:访问由于凭据无效被拒绝。   401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝。   401.3 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。   401.4 未经授权:Web 服务器上安装的筛选器授权失败。   401.5 未经授权:ISAPI/CGI 应用程序授权失败。   401.7 未经授权:由于 Web 服务器上的 URL 授权策略而拒绝访问。   403 禁止访问:访问被拒绝。   403.1 禁止访问:执行访问被拒绝。   403.2 禁止访问:读取访问被拒绝。   403.3 禁止访问:写入访问被拒绝。   403.4 禁止访问:需要使用 SSL 查看该资源。   403.5 禁止访问:需要使用 SSL 128 查看该资源。   403.6 禁止访问:客户端的 IP 地址被拒绝。   403.7 禁止访问:需要 SSL 客户端证书。   403.8 禁止访问:客户端的 DNS 名称被拒绝。   403.9 禁止访问:太多客户端试图连接到 Web 服务器。   403.10 禁止访问:Web 服务器配置为拒绝执行访问。   403.11 禁止访问:密码已更改。   403.12 禁止访问:服务器证书映射器拒绝了客户端证书访问。   403.13 禁止访问:客户端证书已在 Web 服务器上吊销。   403.14 禁止访问:在 Web 服务器上已拒绝目录列表。   403.15 禁止访问:Web 服务器已超过客户端访问许可证限制。   403.16 禁止访问:客户端证书格式错误或未被 Web 服务器信任。   403.17 禁止访问:客户端证书已经到期或者尚未生效。   403.18 禁止访问:无法在当前应用程序池中执行请求的 URL。   403.19 禁止访问:无法在该应用程序池中为客户端执行 CGI。   403.20 禁止访问:Passport 登录失败。   404 找不到文件或目录。   404.1 文件或目录未找到:网站无法在所请求的端口访问。 转自xiaolang 的 BLOG)......

阅读全文(2857) | 评论:0

转:ASP.Net项目出错处理方法汇总(2006-05-27 21:09:00)

摘要: 1:确认在“配置属性”中的“启用ASP.NET调试"为"True"操作步骤:VS环境里面,菜单-项目-项目属性(最下得选项)-配置属性(左边第二项)-Debugging-Enable Asp.Net Debugging 设置为True作用:确定调试器能过启动IIS来调试asp.net页面!2:确认你的"web.config"中的"debug=true"操作步骤打开web.config文件,设置debug="true";作用:配置调试器可以调试该应用程序 3:若你安装过wind2000 SP4后,则要在命令行执行"regsvr32 i aspnet_isap.dll"操作步骤:开始-运行-cmd-regsvr32 i aspnet_isap.dll作用:重新注册aspnet_isap.dll 4:在IIS里查看站点信息,选中"目录安全性",里面有"匿名访问和身份验证控制",再点击"编辑..",确认"集成Windows身份验证"选项被选中操作步骤:我的电脑-右击-管理-应用程序管理-IIS-默认网站-你得站点-右击-目录安全性-认证和访问方式-勾选匿名访问和身份验证控制,编辑-勾选确认"集成Windows身份验证“作用:匿名访问:此处设置不是为了解决你得调试问题,是为了能够使局域网或者广域网中其他用户通过输入你得Ip和网站名称来访问该网站集成Windows身份验证:刚建立得网站身份验证方式为Windows要求必须用windows用户身份访问该网站,不更该IIS,将无法正常调试!5:在IE选项->"安全设置"->"自定义级别"里有"用户验",确认选中"自动使用当前用户名和密码登录"步骤上述已经详细 6:运行C:\WINNT\Microsoft.NET\Framework\v1.0.3705\aspnet_regiis.exe -i操作步骤;cd到C:\WINNT\Microsoft.NET\Framework\v1.0.3705\目录aspnet_regiis.exe -i或者start=all progames - visual studio.net 2003-visual studio.net tools - command prompt-aspnet_regiis.exe -i作用:重新注册当前得.net framework版本即(v1.0.3......

阅读全文(2516) | 评论:0

ASP的数据库文件(2006-05-26 16:40:00)

摘要:那天帮同学调ASP的数据库显示程序时,传过来的数据库本只有一个文件的,可是传到我这又多了个文件,我很纳闷.LDB后缀是文件是什么?他说只有一个文件,可是明明我收到有两个文件呀! 所以 只好去网上搜下答案,果然是很有用的文件(窃喜中),呵呵,为了以后方便.偶还是整理到这个空间~~   .ldb文件在多用户环境下是非常重要得。该文件被 MS Jet DB Engine V4.0 用来确定被共享的数据库中哪条记录被锁定以及被谁锁定更多信息:.ldb 文件是由共享数据库的使用者自动创建以及删除得。.LDB 文件建立并存储计算机名、用户名以及放置扩展域锁的。.LDB 文件一般与 .MDB 同名,并且与 .MDB 文件在相同目录,在 .MDB 文件被打开时建立并锁定。举个例子,如果你打开 c:\northwind.mdb 文件后 c:\northwind.ldb 文件会自动被建立并被锁定。当最后一个用户关闭共享数据库时 .ldb 文件会被自动删除。但是当用户没有正常关闭数据库或者数据库已经被标记为损坏,那么 .LDB 文件不会被自动删除,因为 .LDB 文件中存储着数据库损坏时谁正在使用该数据库。权限问题:记得要给予 .LDB 文件所在的文件夹一定的权限。如果你准备共享一个数据库,该 .MDB 文件应该被放置在一个用户拥有读取、写入、建立、删除权限的目录中。即使你要求每个用户有不同的文件权限(比如,只读或者可读写),所有能够共享该数据的用户对该目录都应该拥有读取、写入、建立的权限,但是你可以分配用户对某个 .MDB 文件只拥有只读权限。注意:如果用独占方式打开某个数据库,那么 MS JET DB 将不会建立 .LDB 文件,此时用户对目录的权限只要求有读取和写入两个权限即可。.ldb 文件的内容:MS JET DB ENGINE 会为每个以共享方式打开数据库的使用者在 .LDB 文件中创建一个条目,每个条目的大小是 64 字节。前面 32 字节保存计算机名,后面 32 字节保存用户名。JET DB ENGINE 支持的最大用户数是 255,因此 .LDB 文件的大小不会超过 16 KB。当一个用户关闭一个共享数据库时,该用户在 .LDB 文件中的条目不会立即被删除,可是该条目会在下一个用户打开这个数据库时被覆盖。这也就意味着你不能通过 .LDB 文件来唯一确定谁......

阅读全文(2507) | 评论:0

bug概念(2006-05-26 16:35:00)

摘要:“BUG”的由来:    Bug一词的原意是“臭虫”或“虫子”。但是现在,在电脑系统或程序中,如果隐藏着的一些未被发现的缺陷或问题,人们也叫它“Bug”,这是怎么回事呢?     原来,第一代的计算机是由许多庞大且昂贵的真空管组成,并利用大量的电力来使真空管发光。可能正是由于计算机运行产生的光和热,引得一只小虫子Bug钻进了一支真空管内,导致整个计算机无法工作。研究人员费了半天时间,总算发现原因所在,把这只小虫子从真空管中取出后,计算机又恢复正常。后来,Bug这个名词就沿用下来,表示电脑系统或程序中隐藏的错误、缺陷或问题。 与Bug相对应,人们将发现Bug并加以纠正的过程叫做“Debug”,意即“捉虫子”或“杀虫子”。遗憾的是,在中文里面,至今仍没有与“Bug”准确对应的词汇,于是只能直接引用“Bug”一词。虽然也有人使用“臭虫”一词替代“Bug”,但容易产生歧义,所以推广不开。 所谓“(Bug)”,是指电脑系统的硬件、系统软件(如操作系统)或应用软件(如文字处理软件)出错。硬件的出错有两个原因,一是设计错误,一是硬件部件老化失效等。软件的错误全是厂家设计错误。那种说用户执行了非法操作的提示,是软件厂商不负责的胡说八道。用户可能会执行不正确的操作,比如本来是做加法但按了减法键。这样用户会得到一个不正确的结果,但不会引起bug发作。软件厂商在设计产品时的一个基本要求,就是不允许用户做非法的操作。只要允许用户做的,都是合法的。用户根本就没有办法知道厂家心里是怎么想的,哪些操作序列是非法的。 从电脑诞生之日起,就有了电脑BUG。第一个有记载的bug是美国海军的编程员,编译器的发明者格蕾斯·哈珀(GraceHopper)发现的。哈珀后来成了美国海军的一个将军,领导了著名计算机语言Cobol的开发。 1945年9月9日,下午三点。哈珀中尉正领着她的小组构造一个称为“马克二型”的计算机。这还不是一个完全的电子计算机,它使用了大量的继电器,一种电子机械装置。第二次世界大战还没有结束。哈珀的小组日以继夜地工作。机房是一间第一次世界大战时建造的老建筑。那是一个炎热的夏天,房间没有空调,所有窗户都敞开散热。 突然,马克二型死机了。技术人员试了很多办法,最后定位到第70号继电器出错。哈珀观察这个出错的继电器,发现一只飞蛾躺在中间,已经......

阅读全文(2992) | 评论:0

web.config(2006-05-26 16:23:00)

摘要:在ASP.NET中,这些设置被迁移到网站根目录下的一个XML格式的文件中(Web.config)。通过Web.config,你可为网站定义诸如自定义的404报错页、(身份)验证和授权等设置;如果允许跟踪,还可为ASP.NET的网页设置编译选项。 Web.config文件是一个XML格式的文件。在根层是 <configuration> 的标记。在这个标记内,你可以添加许多其他的标记,在你要定义的大部分的网站配置参数的地方,最常用,也是最有用的一个是 system.web 标记。另外,为定义 application-wide 的设置,你要使用 <appSettings> 标记。在这个标记中,你可用 <add ... /> 标记定义0到多个设置。例如:如果我们希望增加一个数据库连接串参数,我们可以用如下的 Web.config 文件: <configuration> <!-- application specific settings --> <appSettings> <add key="connString" value="connection string" /> </appSettings> <system.web> ... </system.web> </configuration> 如上的代码添加了一个名为connString 的 application-wide 设置,由connection string提供数据连接串的值。现在,你可以在这个网站的大部分ASP.NET网页中,用下面的语句读取 connString 这个参数的值: ConfigurationSettings.AppSettings("connString") 定义Application-Wide 类的设置 如果你正在创建一个大型ASP.NET应用,比较明智的决定是将大量的网站全局管理、调整属性定义为 application-wide 参数。到目前为止,你可以象......

阅读全文(4090) | 评论:1