• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 数据库优化实践【TSQL篇】

数据库优化实践【TSQL篇】

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了数据库优化,TSQL等相关知识,希望本文的分享对您有所帮助
  数据库优化实践【TSQL篇】
  在前面我们介绍了如何正确使用索引,调整索引是见效最快的性能调优方法,但一般而言,调整索引只会提高查询性能。除此之外,我们还可以调整数据访问代码和TSQL,本文就介绍如何以最优的方法重构数据访问代码和TSQL。

  第四步:将TSQL代码从应用程序迁移到数据库中

  也许你不喜欢我的这个建议,你或你的团队可能已经有一个默认的潜规则,那就是使用ORM(Object Relational Mapping,即对象关系映射)生成所有SQL,并将SQL放在应用程序中,但如果你要优化数据访问性能,或需要调试应用程序性能问题,我建议你将SQL代码移植到数据库上(使用存储过程,视图,函数和触发器),原因如下:

  1、使用存储过程,视图,函数和触发器实现应用程序中SQL代码的功能有助于减少应用程序中SQL复制的弊端,因为现在只在一个地方集中处理SQL,为以后的代码复用打下了良好的基础。

  2、使用数据库对象实现所有的TSQL有助于分析TSQL的性能问题,同时有助于你集中管理TSQL代码。

  3、将TS QL移植到数据库上去后,可以更好地重构TSQL代码,以利用数据库的高级索引特性。此外,应用程序中没了SQL代码也将更加简洁。

  虽然这一步可能不会象前三步那样立竿见影,但做这一步的主要目的是为后面的优化步骤打下基础。如果在你的应用程序中使用ORM(如NHibernate)实现了数据访问例行程序,在测试或开发环境中你可能发现它们工作得很好,但在生产数据库上却可能遇到问题,这时你可能需要反思基于ORM的数据访问逻辑,利用TSQL对象实现数据访问例行程序是一种好办法,这样做有更多的机会从数据库角度来优化性能。

  我向你保证,如果你花1-2人月来完成迁移,那以后肯定不止节约1-2人年的的成本。

  OK!假设你已经照我的做的了,完全将TSQL迁移到数据库上去了,下面就进入正题吧!

  

第五步:识别低效TSQL,采用最佳实践重构和应用TSQL

  由于每个程序员的能力和习惯都不一样,他们编写的TSQL可能风格各异,部分代码可能不是最佳实现,对于水平一般的程序员可能首先想到的是编写TSQL实现需求,至于性能问题日后再说,因此在开发和测试时可能发现不了问题。

  也有一些人知道最佳实践,但在编写代码时由于种种原因没有采用最佳实践,等到用户发飙的那天才乖乖地重新埋头思考最佳实践。

  我觉得还是有必要介绍一下具有都有哪些最佳实践。

  1、在查询中不要使用“select *”

  (1)检索不必要的列会带来额外的系统开销,有句话叫做“该省的则省”;

  (2)数据库不能利用“覆盖索引”的优点,因此查询缓慢。

  2、在select清单中避免不必要的列,在连接条件中避免不必要的表

以上就是数据库优化实践【TSQL篇】的内容,更多相关文章请关注微课江湖()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 优化mysql数据库的经验总结
  • 基于MYSQL中优化的一些方法
  • mysql数据库优化需要遵守的原则
  • mysql 模糊搜索的方法介绍
  • mysql服务启动不了解决方案
  • Mysql启动与数据库的创建方法[图文]
  • Mysql 数据库更新错误的解决方法
  • 为mysql数据库添加添加事务处理的方法
  • MySQL数据库十大优化技巧
  • MySQL数据库优化经验详谈(服务器普通配置)第1/3页

相关文章

  • 2017-05-11MySQL优化配置文件my.ini(discuz论坛)
  • 2017-05-11cmd中MySQL中文数据乱码问题解决方法
  • 2018-12-05mysql 日期和时间函数
  • 2018-12-05深入了解在Linux下完全卸载mysql
  • 2018-12-05 MySQL性能:使用 MySQL 5.7 实现每秒 50 万查询
  • 2018-12-05Oracle9i在Win2k环境下的完全卸载
  • 2018-12-05Jdbc--具体代码实现
  • 2018-12-05在Oracle中向视图中插入数据的方法_Oracle应用_脚本之家
  • 2018-12-05通过T-SQL语句实现数据库备份与还原的代码
  • 2018-12-05实例详解2017最新版windows安装mysql教程

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • mysql子查询简单介绍
    • Oracle数据库技术(37)
    • MySQL中101个调试与优化技巧的分享
    • 利用MySQL加密函数保护Web网站敏感数据的方法分享
    • 如何优化Mysql千万级快速分页
    • 如何批量检查表并进行repair,optimize
    • MySQL入门之一次函数调用执行多条语句
    • MySQL中的if和case语句使用总结
    • MySQL 查询结果以百分比显示简单实现
    • mysql 误删除ibdata1之后的恢复方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有