提高数据库性能的两种方式

原创 2006年06月03日 20:48:00

    数据库访问性能的两种方式:使用存储过程和缓冲池POOLING。

使用存储过程

在ASP.NET中,你可以使用两种方式执行SQL语句直接在页面执行代码,或者封装SQL语句然后再执行。使用存储过程可以提高应用程序的性能和可维护性;封装多个SQL语句,然后成组执行,比如,你可以创建一个存储过程包含多个SQL UPDATE语句,一次执行修改多个记录;TSQL支持参数、条件、循环和函数,使用这些功能,你能在一个存储过程中创建非常复杂的小程序;存储过程能将应用程序和数据库的实现分离,如果数据库表改变了,你可以只改变存储过程而无须改变你的ASP.NET页面。

使用缓冲池

To take advantage of connection pooling, you must be careful to do two things in your ASP.NET pages. First, you must be careful to use the same exact connection string whenever you open a database connection. Only those connections opened with the same connection string can be placed in the same connection pool.

Realize that even very small differences in the connection string can thwart connection pooling. Connections are pooled only when they are opened with connection strings that exactly match character by character. For this reason, it is wise to create your connection string in one place and use the same connection string within all your ASP.NET pages. For example, you can place your connection string in the web.config file and retrieve it from this file whenever you need to open a connection. Another option is to place the connection string in Application state within the Global.asax file.

When using SQL connection pooling, you can place additional options in a connection string to modify how connection pooling works. For example, you can specify the minimum and maximum size of the connection pool or even completely disable connection pooling.

Here's a list of the connection pooling options that you can add to the SQL Server connection string:

  • Connection Lifetime— Destroys a connection after a certain number of seconds. The default value is 0, which indicates that connections should never be destroyed.

  • Connection Reset— Indicates whether connections should be reset when they are returned to the pool. The default value is true.

  • Enlist— Indicates whether a connection should be automatically enlisted in the current transaction context. The default value is true.

  • Max Pool Size— The maximum number of connections allowed in a single connection pool. The default value is 100.

  • Min Pool Size— The minimum number of connections allowed in a single connection pool. The default value is 0.

  • Pooling— Determines whether connection pooling is enabled or disabled. The default value is true.

提高数据库访问性能的几种方法

    我在医院待了半个月了, 当然,不是住院,而是为了给用户升级程序。程序的稳定性还不错,几乎很少出现运行时错误,倒是数据库的访问上出来不少的问题,当然这些问题目前已经完全解决,系统的性能非常好。 ...
  • sfcyyc
  • sfcyyc
  • 2008年04月17日 20:17
  • 1188

如何提高数据库性能

一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善。这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分...
  • wulove52
  • wulove52
  • 2016年09月06日 21:56
  • 2856

数据库数据处理性能提升技术

一、数据处理性能存在的问题1、企业的数据都集中存储在数据库中,从海量的数据中查找和定位数据是非常耗时的; 2、数据集中存储后,所有用户都要来访问数据库,当很多用户同时访问数据库时,数据库服务器的负载...
  • dingding_12345
  • dingding_12345
  • 2016年01月07日 10:57
  • 5497

如何提高数据库访问性能

特别说明: 1、  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识; 2、  本文许多示例及概念是基于Oracle数据库描述,对于其它关...
  • u010327174
  • u010327174
  • 2014年10月16日 16:35
  • 1796

python读取数据库准备性能测试账号数据

做一个系统的测试,需要根据总测试人数按比例准备各个部门的测试的账号,其中的账号数据都从SQL Server中读取。为了简化工作,制作了一个python脚本。可以生成LoadRunner参数化中使用的d...
  • typing_yes_no
  • typing_yes_no
  • 2015年12月17日 22:15
  • 812

Java - 使用JDBC操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?

要提升读取数据的性能,可以指定通过结果集(ResultSet)对象的setFetchSize()方法指定每次抓取的记录数(典型的空间换时间策略);要提升更新数据的性能可以使用PreparedState...
  • chimomo
  • chimomo
  • 2017年11月01日 10:15
  • 240

c#数据库的两种访问方式总结

本设计中共有8个按钮,对应的代码分别从button1~button8 , 姓名对应的为textbox2,生日对应的dateTimePicker1,号码对应的是textbox3。本例适合新手一次搞懂通过...
  • sgx0554
  • sgx0554
  • 2015年06月07日 18:24
  • 1288

为什么使用存储过程可以提高性能

能,存储过程是在服务器端运行的。1、执行速度比普通的SQL语句快 再运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。 由于执行...
  • jshayzf
  • jshayzf
  • 2012年10月25日 09:17
  • 1778

数据库索引为何能提高性能

本文只针对mysql进行相关方面的说明。 首先我要问,“数据索引是有序无序的?”。答:“当然是有序的了。” 再问,一个SQL语句可以有几个索引?你先别往下看结果,你这想下,可以使用几个索引...
  • qq_36976949
  • qq_36976949
  • 2016年12月16日 20:25
  • 347

Android---Sqlite数据库---数据库查询两种方式(事务)

# 1 Android下数据库创建       mysql  sqlserver2005 oracle   sqlite : 轻量级,内置式      数据库一般用于存储,大量具有结构相同的数据。...
  • qq_32816979
  • qq_32816979
  • 2018年01月20日 17:48
  • 62
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:提高数据库性能的两种方式
举报原因:
原因补充:

(最多只允许输入30个字)