问题标签 [optimization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
30 回答
105553 浏览

sql-server - SQL Server Management Studio – 改进 TSQL 编码过程的技巧

我曾经在一个常见的做法是使用结对编程的地方工作。我记得当我们一起编写代码时,我们可以互相学习多少小东西。随着时间的推移,使用新的快捷方式、代码片段等显着提高了我们编写代码的效率。

自从我开始使用 SQL Server 以来,我一直独自一人。我通常会从与我现在无法做到的其他人一起工作中挑选出最好的习惯。

所以这是一个问题:

  • 对于使用 SQL Server Management Studio 高效编写 TSQL 代码,您有哪些提示?
  • 请将提示保留在您认为可以提高编码速度的 2 到 3 件事情/捷径上
  • 请保持在 TSQL 和 SQL Server Management Studio 2005/2008 的范围内 如果该功能特定于 Management Studio 的版本,请说明:例如“仅适用于 SQL Server 2008”

编辑:

恐怕我会被你们中的一些人误解。我不是在寻找编写高效 TSQL 代码的技巧,而是寻找有关如何有效使用 Management Studio 来加速编码过程本身的建议。

我正在寻找的答案类型是:

  • 模板的使用,
  • 键盘快捷键,
  • 使用 IntelliSense 插件等。

基本上是那些使编码体验更加高效和愉快的小事情。

0 投票
4 回答
736 浏览

python - 在 __iter__ 上对字典进行排序

我正在尝试根据其键对 dict 进行排序,并将迭代器返回到类中重写的 iter 方法中的值。有没有比创建一个新列表、在我对键进行排序时插入到列表中更好、更有效的方法?

0 投票
6 回答
22373 浏览

oracle - 解释计划成本与执行时间

之前,我发现执行计划中的“成本”是相对执行时间的一个很好的指标。为什么这个案例不同?认为执行计划具有相关性,我是个傻瓜吗?我可以具体尝试什么来提高 v_test 性能?

谢谢你。

使用 Oracle 10g 我在下面定义了一个简单的查询视图

定义为替换以下视图

目的是消除对 ROLE_LEVEL 列的依赖。

v_test 的执行计划明显低于 v_bo_secured_detail 简单

查询。并且在实际查询中使用时显着降低

执行时间完全不同。v_test 视图需要 15 个小时,而 v_bo_secured_detail 需要几秒钟。


谢谢所有回复的人

这是我要记住的一个。表达式的理论和数学与基于硬件的执行现实相结合的地方。哎哟。

0 投票
8 回答
2029 浏览

sql - 可能与光标/加入有关的问题

这是我的情况:

表一包含一组使用 id 作为唯一标识符的数据。该表与大约 6 个其他表具有一对多关系。

给定 Id 为 001 的表 1:表 2 可能有 3 行外键:001 表 3 可能有 12 行外键:001 表 4 可能有 0 行外键:001 表 5 可能有 28 行外键: 001

我需要编写一份报告,列出指定时间范围内表 1 中的所有行,然后是引用它的少数表中包含的所有数据。

我当前的伪代码方法如下所示:

这意味着单个报告可以在 1000 个查询附近运行。我知道这太过分了,但是我的 sql-fu 有点弱,我可以使用一些帮助。

0 投票
14 回答
26210 浏览

sql-server - 最好的 SQL Server 性能优化技术是什么?

我一直采用的方法是首先使用最少的索引集部署数据库,然后根据性能要求添加/更改索引。

这种方法相当有效。但是,它仍然没有告诉我在哪里可以提高性能。它只告诉我哪里的性能如此糟糕以至于用户抱怨它。

目前,我正在重构我们许多应用程序上的数据库对象。

那么,既然“过早的优化是万恶之源”,我不应该费心去寻找性能改进吗?

在重构应用程序代码时,开发人员一直在寻找提高代码质量的方法。有没有办法不断寻求数据库性能的改进?如果是这样,您发现哪些工具和技术最有帮助?

我曾短暂地玩过“数据库引擎调优顾问”,但根本没有发现它有帮助。也许我只是需要更多的经验来解释结果。

0 投票
6 回答
3613 浏览

c# - Winform 应用程序分析 CPU 使用率/峰值。

我有一个 Winforms 应用程序,它通常占用大约 2-4% 的 CPU。我们在有限的时间内看到了高达 27% 的 CPU 峰值。什么是最好的分析工具来确定究竟是什么导致了这个峰值。我们使用 dottrace,但我不知道如何将其准确映射到 CPU 峰值?

感谢帮助

0 投票
15 回答
198131 浏览

sql - 从 SQL Server 中的 VARCHAR 中删除非数字字符的最快方法

我正在编写一个导入实用程序,它使用电话号码作为导入中的唯一键。

我需要检查我的数据库中是否不存在该电话号码。问题是数据库中的电话号码可能有破折号和括号之类的东西,可能还有其他东西。我写了一个函数来删除这些东西,问题是它很,我的数据库中有数千条记录并且一次导入数千条记录,这个过程可能会慢得令人无法接受。我已经将电话号码列设为索引。

我尝试使用这篇文章中的脚本:
T-SQL trim   (and other non-alphanumeric characters)

但这并没有加快速度。

有没有更快的方法来删除非数字字符?当必须比较 10,000 到 100,000 条记录时可以表现良好的东西。

无论做什么都需要快速执行。

更新
鉴于人们的反应,我认为我必须在运行导入实用程序之前清理字段。

为了回答我正在编写导入实用程序的问题,它是一个 C# 应用程序。我现在正在将 BIGINT 与 BIGINT 进行比较,无需更改数据库数据,而且我仍在使用非常小的数据集(大约 2000 条记录)对性能造成影响。

将 BIGINT 与 BIGINT 进行比较会减慢速度吗?

我已经尽可能地优化了我的应用程序的代码端(删除了正则表达式,删除了不必要的数据库调用)。虽然我不能再将 SQL 隔离为问题的根源,但我仍然觉得它是。

0 投票
12 回答
93853 浏览

sql-server - 哪些列通常可以制作好的索引?

作为“什么是索引以及如何使用它们来优化我的数据库中的查询? ”的后续行动,我正在尝试了解索引,哪些列是好的索引候选?专门针对 MS SQL 数据库?

经过一番谷歌搜索后,我读到的所有内容都表明,通常会增加且唯一的列是一个很好的索引(比如 MySQL 的 auto_increment 之类的东西),我理解这一点,但我使用的是 MS SQL,并且我使用的是 GUID 作为主键,所以看起来索引不会使 GUID 列受益...

0 投票
8 回答
4833 浏览

mysql - MySQL:建议的行数

考虑一个有 7 列的索引 MySQL 表,不断地被查询和写入。在通过将数据拆分到其他表中来提高性能之前,该表应该允许包含的建议行数是多少?

0 投票
8 回答
26339 浏览

c - 是否有接受大于 char 的整数的 memset()?

是否有一个版本的 memset() 设置一个大于 1 字节 (char) 的值?例如,假设我们有一个 memset32() 函数,那么使用它我们可以执行以下操作:

这将在数​​组的所有元素中设置值 0xDEADBEEF。目前在我看来,这只能通过循环来完成。

具体来说,我对 memset() 的 64 位版本感兴趣。知道这样的事吗?