您好,欢迎来到商国互联!

收藏本站

商国互联

点击查看优质供应商

当前位置:商国互联首页> 产品库 > IT设备、数码产品、软件 > 其他专用软件 > 其他行业专用软件

蓝鸥西安java培训提高SQL执行效率 

  • 价 格: 面议 /
  • 供 应 地:陕西省西安市
  • 发布公司:蓝鸥科技有限公司西安分公司
  • 产品型号:
  • 品 牌:
  • 发布日期:2018/3/21 9:54:19
  • 联系人QQ:2962671591 点击这里给我发消息

详细说明

产品说明Explain

公司简介Content


蓝鸥西安java培训提高SQL执行效率的技巧

使用表值函数

这是一直以来我最爱用的技巧之一,因为它是只有专家才知道的那种秘诀。

在查询的 SELECT 列表中使用标量函数时,该函数因结果集中的每一行而被调用,这会大幅降低大型查询的性能。

然而可以将标量函数转换成表值函数,然后在查询中使用 CROSS APPLY,就可以大幅提升性能,这个奇妙的技巧可以显著提升性能。

使用分区避免移动大型数据

不是每个人都能利用依赖 SQL Server Enterprise 中分区的这个技巧,但是对于能利用它的人来说,这个技巧很棒。

大多数人没有意识到 SQL Server 中的所有表都是分区的。如果你喜欢,可以把一个表分成多个分区,但即使简单的表也从创建那一刻起就分区了。

然而,它们是作为单个分区创建的。如果你在运行 SQL Server Enterprise,已经可以随时享用分区表的优点了。

这意味着你可以使用 SWITCH 之类的分区功能,归档来自仓库加载的大量数据。

我知道使用 ORM 的种种理由,也知道开发人员和经理都喜欢 ORM,因为它们有助于产品迅速投向市场。但是如果你看一下查询对数据库做了什么,就会发现代价太高了。

存储过程有许多优点,首先,你在网络上推送的数据少得多。如果有一个长查询,那么它可能在网络上要往返三四趟才能让整个查询到达数据库服务器。

这不包括服务器将查询重新组合起来并运行所花的时间;另外考虑这点:查询可能每秒运行几次或几百次。

使用存储过程可大大减少传输的流量,因为存储过程调用总是短得多。另外,存储过程在 Profiler 或其他任何工具中更容易追踪。

那些只是要点,我知道,许多 程序员认为业务逻辑不适宜放在数据库中,这大错特错。

如果将业务逻辑放在应用程序的前端,仅仅为了比较就得将所有数据传送一遍,那样不会有好的性能。

我有个客户将所有逻辑保存在数据库的外面,在前端处理一切。该公司将成千上万行数据发送到前端,以便能够运用业务逻辑,并显示所需的数据。

这个过程花了 40 分钟,我把存储过程放在后端,让它从前端调用;页面在三秒钟内加载完毕。

当然,有时逻辑适宜放在前端上,有时适宜放在数据库中,但是 ORM 总是让我上火。

不要对同一批次的许多表执行大型操作

蓝鸥科技西安中心,移动互联网科技育人专家,教育部产学合作协同育人项目承办企业,专注西安Java培训、西安大数据培训、西安unity培训,西安VR/AR培训、西安UI设计,西安HTML5培训、西安PHP培训,选择蓝鸥,不止高薪更是高起点!


卖家名片Cards

卖家名片

蓝鸥科技有限公司西安分公司

联系人:蓝鸥西安(市场部)

手机:17791055930

邮箱:yangping@lanou3g.com

地址:陕西省西安市高新区唐兴路10号

电话: 传真:

旺铺

免责声明:交易有风险,请谨慎交易,以免因此造成自身的损失,本站所展示的信息均由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。本站对此不承担任何保证责任。
商国互联供应商 品质首选

蓝鸥科技有限公司西安分公司

  • 联系人:蓝鸥西安(市场部)
  • 联系人QQ:2962671591 点击这里给我发消息
  • 手机: 17791055930
  • 电话:
  • 会员级别:免费会员
  • 认证类型:企业认证
  • 企业证件:已通过企业认证 [已认证]
  • 认证公司:
  • 主营产品:iOS培训 iOS开发工程师 Android培训 H5培训 UI设计 VR/AR
  • 公司所在地:陕西省西安市