提高系统性能和安全性

using

    定义:using可以用于导入命名空间,也可以释放对象占用的内存资源。

    语法:

using(SqlConnection conn = new SqlConnection(connString))
{
        //数据库操作代码
}

    using语句允许用户定义一个范围,并且总是在范围末尾处释放对象。

    即使using范围内出现异常也会释放对象。

    注意事项:

        1.using可以主动释放的对象都需要事项IDisable接口。

        2.并不是所有的代码需要使用using,只需要对那些对系统性能有重要影响的对象使用using即可。

参数化命令

    参数化命令可以有效的防止sql注入。

    语法:

StringBuilder sb = new StringBuilder();
sb.AppendLine("indert....");
sb.AppendLine("values");
sb.AppendLine("@参数1,...");
SqlParameter[] para = {
    new SqlParameter("参数1",值),
    ...
}
SqlCommand cmd = new SqlCommand(sb.ToString(), conn);

cmd.Parmeters.AddRange(para);
...

用ADO.NET调用存储过程

    只需要设置一下command对象的命令类型即可。

    语法:

SqlCommand cmd = new SqlCommand("存储过程名称", conn);

//设置命令类型
cmd.CommandType = CommandType.StoredProcedure;

//添加输入参数
SqlParameter[] para = {
    new SqlParameter("参数1",值),
    ...
}
cmd.Parmeters.AddRange(para);
...

    使用输出参数的语法:

SqlCommand cmd = new SqlCommand("存储过程名称", conn);

//设置命令类型
cmd.CommandType = CommandType.StoredProcedure;

//添加输入参数
SqlParameter[] para = {
    new SqlParameter("参数1",值),
    ...
}

//设置最后一个参数为输出参数
para[para.Length - 1].Direction = ParameterDirection.Output;
cmd.Parmeters.AddRange(para);
...

//使用输出参数
string ret = Convert.ToString(para[para.Length - 1].Value);
时间: 2024-10-13 10:51:41

提高系统性能和安全性的相关文章

避免云中断和提高系统性能的4种方法

避免云中断和提高系统性能的4种方法 当大多数人听到关于云计算中断的头条新闻时,他们通常考虑的是哪个云计算供应商,或其负面宣传将如何影响股票价格,却很少有人会想到事件背后的相关人员,也就是负责修复问题并让客户系统恢复运行的工作人员. 尽管他们付出了最大的努力,偶尔的业务中断或停电是不可避免的.互联网是一个不稳定的场所,没有人能够完全免于这种危险.幸运的是,企业可以采取一些简单的措施来防范意外停机的可能性. 以下是避免云计算中断的四种方法,同时提高了流程中的安全性和性能: 1.采用多个地点或多云环境

如何使用ATS提高应用的安全性

App Transport Security,简短的说就是ATS,是iOS9和OS X El Capitan的一个新特性.App Transport Security 的目标是提高Apple 操作系统的安全性以及在此操作系统上运行的任何应用的安全性. 基于HTTP传输数据的网络请求都是明文.开启App Transport Security后,网络传输自动通过HTTPS传输而不是HTTP. App Transport Security要求TLS (Transport Layer Security)

提高系统性能数据库设计的横向分割和纵向分割技术

本文介绍一些关于提高系统性能方面的知识,列分割,行分割,实例分割,物理存储分割等技术. 这篇主要讲解一下数据库的设计,因为一个好的数据结构,对整体系统的运作太重要了,请看看本文的内容. 提到程序性能,大家都知道时间复杂度的公式O(f(n)).在提高性能的这个迷局中,很多人都会想尽办法降低算法函数f的复杂度,或者是提高函数f的运行 速度.但是这些都是没有办法的办法,是舍本求末的办法.如果基数n巨大,这类方法都不会有很好的效果,因为问题的本身在于基数 n.千方百计减少基数n的数量才能获取质的提高.

Hibernate 利用缓存(一级、二级、查询)提高系统性能

在hibernate中我们最常用的有三类缓存,分别为一级缓存.二级缓存和查询缓存,下面我们对这三个缓存在项目中的使用以及优缺点分析一下. 缓存它的作用在于提高性能系统性能,介于应用系统与数据库之间而存在于内存或磁盘上的数据. 首先,来看一下一级缓存它默认开启且很常用. 一级缓存 同是一种缓存常常可以有好几个名字,这是从不同的角度考虑的结果,从缓存的生命周期角度来看一级缓存又可以叫做:sessin缓存.线程级缓存.事务级缓存.我们编程中线程.事务.session这三个概念是绑定到一起的放到了thr

[译]在Linux上的提高MySQL/MariaDB安全性的12条建议

MySQL 是世界上最流行的开源数据库系统,而MariaDB(MySQL的一个分支)是世界上发展最快的开源数据库系统.安装MySQL服务器之后,它的默认配置是不安全的,保护它是一般数据库管理中的基本任务之一. 这将有助于加强和提升整体Linux服务器安全性,因为攻击者总是扫描系统任何部分的漏洞,而数据库过去一直是关键的目标.一个常见的例子是暴力破解MySQL数据库的root密码. 在本指南中,将讲解在 Linux 很有用的 MySQL / MariaDB 安全性最佳实践. MySQL 安全性安装

提高系统性能——对SQL语句优化的思考

软件在研发的过程中自始至终都在留意着系统的可扩展性.但与此同一时候也在关注着系统的性能,SQL语句作为系统性能的一环不容忽视.从今天開始结合开发的经验,谈一下我对SQL语句优化的理解和认知: 1.在联合查询语句中做到小表驱动大表: 联合查询是经常使用到的一种查询方式,左连接.右连接.内连接等等时不时地被应用在查询语句中,然而在这一过程中假设能判明各表的数据量,那就再好只是了,在这样的情况下from后面应该紧跟数据量小的表.为什么?呵呵呵,比方a表有1000条数据,b表有20条数据.使用左连接进行

第三章:提高系统性能:从数据访问开始

使用using释放资源 SqlConnection conn = new SqlConnection (connString); try { conn.Open(); //省略访问数据库代码... } catch (Exception ex) { throw ex; } finally { conn.Close(); } 数据库连接通常属于有限的服务器资源,因此要在使用后马上关闭.这是提高数据 库访问性能的基本方法.在代码中,finally块中调用Close()方法释放连接,确保 即使有异常发生

提高系统性能之多线程编程

多线程编程技术在实际编程应用中十分广泛,多线程技术的应用通过提高CPU的利用率来帮助系统提升性能,那么究竟多线程编程在什么情况下使用?怎样使用多线程呢?多线程的应用一定要适应特定的环境,线程开多了会大大增加Cpu的负担,而线程数目开少了又很难提高cpu的利用率,为此我们使用线程池来管理线程.线程池用来限制线程的数量,减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务,同时可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存使得服务器宕机.那究竟什么是

使用redis减小数据库访问压力及提高系统性能

什么是redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会