Server应用程序品质调优之SQL编制程序

如何优化应用程序的SQL Server编程

DBMS:
数据管理独立性
有效地完成数据的存取
数据完整性和安全性
数据集中管理
并发存储与故障恢复
减少应用程序开发时间

现在,应用程序和数据库设计应该已经完成,而且都使用快速原型技术进行了性能和可扩展性的测试。现在我们需要为应用程序编写与SQL
Server协同的代码。

SQL: structure query language

如何进行应用程序编程,对性能和可扩展性也有很大影响,就如同数据库设计和整体应用程序设计对性能的影响一样。有的时候,选择一个更适合的简单编程技巧就可以带来较大的性能提高。实现一个任务的代码可能有很多种,不过获得最优性能的往往只有一个。

SQL-分析器-计划执行器-优化器-文件的存取方法-缓存器-磁盘空间管理器-故障恢复管理器

  如何优化你的T-SQL代码

云顶娱乐棋牌游戏 1

和任何编程语言一样,T-SQL提供了多种方式来实现同一个任务。其中有的方法所实现的性能要高于其它方法。在这一部分中,我将向大家介绍一些编写高性能T-SQL代码的诀窍。

sql管理器内部机制

选择合适的数据类型:数据类型选择好,可以大大提高SQL
Server执行SELECT、INSERT、UPDATE和DELETE操作的速度。不过,选择最优的数据类型并不总是一件很简单的事情。在创建SQL
Server物理表的时候,以下建议可以有助于获得最优性能。

DDL,DML,DCL

云顶娱乐棋牌游戏 ,选择能满足你需要的最小数据类型。例如,如果某一列需要存储的是数字1到10,那么该列的数据类型选择TINYINT会比INT更好。CHAR和VARCHAR的选择也是遵循同样的原则。另外,对于字符列的字符数不要设定太大,满足自己需要就可以,这样SQL
Server能够在其数据和索引页面中存储更多行记录,降低读取它们时所需的I/O次数。另外,它将减少从服务器移动到客户端的数据量,降低网络流量和延时。

MySQL:
社区版
企业版

如果某一列的文本数据在长度上差别很大,使用VARCHAR数据类型来取代CHAR数据类型。尽管VARCHAR数据类型比CHAR数据类型的开销略微有些大,但是使用VARCHAR数据类型可以大大节省空间,可以降低I/O,提高整体SQL
Server性能。

软件包格式:
软件包管理器特有的格式:
rpm/包,.exe格式等
通用二进制格式
源程序

除非你需要存储Unicode数据,不要使用NVARCHAR或NCHAR数据类型。它们所占用的空间是VARCHAR或CHAR的两倍,可以增加服务器I/O开销。

mysql客户端
-u USERNAME
-p
-h MYSQL_SERVER

如果你需要存储较大的字符串数据,而且它们不超过8000字符,那么最好使用VARCHAR数据类型,而不要使用TEXT数据类型。TEXT数据类型开销较大,会降低性能。

-h 172.0.0.1
Linux:socket
Windows:memory

如果有一列只用来存储数字,使用数值型数据类型,诸如INTERGER,而不要使用VARCHAR或CHAR数据类型。Numeric数据类型一般会需要较小的空间来存储数值。这样有助于降低数据列的大小,而且当列内容被搜索或与其它列联合时,可以提高性能。

mysql客户端:
交互式模式
批处理模式
执行mysql脚本

  谨慎使用触发器

交互式模式中的命令类别:
客户端命令
服务器端命令
必须使用语句结束符,默认为分号;

在T-SQL中,触发器是一个强大的工具,但是由于它们每次被执行的时候,需要对表进行INSERT、UPDATE或DELETE操作,这可能带来大量开销。以下是如何优化触发器性能的一些技巧。

SQL接口:
Oracle,PL/SQL
SQL Server,T-SQL

保持触发器中的代码最精简以降低开销。触发器中运行的代码越多,它所进行的每一个INSERT、UPDATE和DELETE就会越慢。

用户:SUERNAME@HOST

不过某个任务可以使用更高效的技术实现,就不要使用触发器。

q 或者 quit 退出mysql

尽量不要使用回滚触发器,因为其相关开销太大。与其让触发器发现问题后对事务处理进行回滚操作,不如在它进入触发器之前就捕获该错误。与让触发器回滚相比,在触发器启动之前提前发现错误会消耗更少的服务器资源。

tcp/3306 以mysql 或mysql组的身份去运行

  1. EMC推出混合环境下服务器管理软件
  2. EMC推出混合环境下服务器管理软件
  3. SaaS、云计算、传统软件——一场危险的三角游戏

RDNMS:

Server编程
现在,应用程序和数据库设计应该已经完成,而且都使用快速原型技术进行了性能和可扩展性的测试。现...

mysql本身是一个数据库管理服务器,里面有很多数据库,很多数据表,里面有一个专门的mysql数据库,普通用户是看不到的,用来记录用户数据库的信息的,类似文件系统的,索引表;

关系数据库对象:


索引
视图
约束
存储过程
存储函数
触发器
游标
用户

权限
事务

表:
行,列
表:实体
行:row
列:field ,column

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。