zoukankan      html  css  js  c++  java
  • 《Asp.Net 2.0 揭秘》读书笔记(十六)

    创建数据访问组件

    *SystemDataSqlServerCe:SQL SERVER MOBILE EDITION;

    *在获取数据的时候建议使用DataReader

    *SQL 延迟函数:WAITFOR DELAY ‘0:0:03’;

    *记得一本书里说过一个函数执行的过程一般小于一纳秒;

    *使用sqlconnection默认是代开连接缓冲池的,默认的大小是100;

    *conn.close():不是真的销毁连接而是放回到连接池中;

    *列出当前所有连接到该数据库的用户连接

    SQL CODE:SELECT * FROMmaster ..sysprocesses WHERE hostname<>''

    *DataReader使用的时候当读取输出参数时得先关闭reader再读取,不然会出现错误,因为reader在读取的时候会自动关闭;

    *数据库技术的存取效率(msdn文章):Performance Comparison:DataAccess Techniques;

    *使用CommandBehavior.CloseConnection的最大缺点是阻碍使用者添加任何异常代码;

    *在一条命令中执行多条命令可以提高效率,减少数据库连接;

    *reader[“ColumName”]:获取此列的值返回obj类型

    *当command返回多个结果集时通过NextResult()到下个结果集;

    *MARS:Multiple Active Resultsets,多活动结果集;

    *上面那个东西就是对一个连接对象绑定多个Command对象,同时使用,但是必须对连接字符串中包含“MultipleActiveResultSets=True”;

    *每个请求asp.net都会分配线程池中的一个新的线程用来执行,如果线程池中没有线程可用就会将新的请求放入队列中,如果队列太大服务器对新的请求就会返回503错误,表示服务器太忙;使用异步的数据层的时候可以对请求性能有所提升,因为当请求未返回的时候当前线程会先释放回请求线程池,数据取出后再申请新的线程继续当前的请求;

    *可以使用Web配置文件(Web.config)中的HttpRuntime节点来配置Asp.net程序的线程池。通过修改appRequestQueueLimit、minLocalRequestFreeThreads和minFreeThreads属性,控制在asp.net framework的队列放弃和输出错误信息签可以处理多少请求。

    *使用异步的Ado.net的方法时,连接字符串必须添加AsynchronousProcessing=true,来启用数据库的异步功能;

    *对请求的页面设置异步才能实现上面的性能提升(

    <%@ Page Async="true" AsyncTimeout="8"%>

    )

    *具体的例子 Page 576;

    *executeInParallel:是并发执行还是并行执行,两者的区别是在微观上并行也是同时执行;

    *替代Page.RegisterAsyncTask():AddOnPreRenderCompleteAsync();

    *启用CLR(通用语言运行时)集成

    数据库命令(查询分析器):

    sp_configure ‘clr enabled’ ,1

    RECONFIGURE

    无视出现的警告

    *使用SQL SERVER数据库对象 Page 578;

    *注册或者注销程序集和用户自定义类型:

    CREATE ASSEMBLEY DBMovie FROM ‘C:\DBMovie.dll’

    DROP Assembly DBMovie

    SELECT * FROM sys.assembles \\查看当前数据库的所有程序集;

    CREATE TYPE dbo.DBMovie EXTERNAL NAME DBMmovie.DBMovie

    DROP TYPE DBMovie

    同理可以自定义创建存数过程

    真的很强大,不过暂时不知道这样用的好处,还需要时间的提炼啊

    作者:KKcat
        
    个人博客:http://jinzhao.me/
        
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    C# 字符串替换第一次或者最后一次出现的匹配项
    C#:SqlHelper
    C#:SqlHelper
    因为数据库正在使用,所以无法获得对数据库的独占访问权还原或删除数据库的解决方法
    因为数据库正在使用,所以无法获得对数据库的独占访问权还原或删除数据库的解决方法
    C# Nginx平滑加权轮询算法
    C# Nginx平滑加权轮询算法
    VBA InStr 函数
    VBA InStr 函数
    Linq 左连接 left join
  • 原文地址:https://www.cnblogs.com/jinzhao/p/1373696.html
Copyright © 2011-2022 走看看