- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近从带有 SQL Server 2000 的 Delphi 7 迁移到带有 SQL Server 2008 的 Delphi 2010。我正在使用 dbExpress。
安装新版本后,我发现有大量数据的网站系统变得缓慢且不稳定。
谁能告诉我 dbExpress 和 SQL Server 2008 之间是否存在问题?请帮忙!!!!
最佳答案
通过执行探查器跟踪,您可以查看 SQL Server 上是否存在任何瓶颈。您的默认探查器跟踪(包括 RPC:Completed 的 TextData)应该足以开始使用。
可以分析探查器跟踪以查看什么花费了最长的时间。您可以轻松地将跟踪加载到表中并在那里进行分析。请注意,加载到表中时,持续时间列以微秒为单位。有关将跟踪文件加载到表中的更快方法,请参阅函数 fn_trace_gettable。
性能不佳的一个常见原因(尤其是在重大更改之后)是索引不良。自 SQL Server 2005 以来,优化器将其希望看到的索引存储在内存结构中。这些可以通过动态管理 View sys.dm_db_missing_index_details、sys.dm_db_missing_index_groups 和 sys.dm_db_missing_index_groups_stats 进行访问。
这里是一个简单的示例 SQL,用于创建您自己的缺失索引报告,包括生成缺失索引的基本代码。
select
d.statement
, d.equality_columns
, d.inequality_columns
, d.included_columns
, s.user_seeks Seeks
, s.last_user_seek
, cast (s.avg_total_user_cost as decimal (9,2)) Cost
, s.avg_user_impact [%]
, 'CREATE INDEX MissingIndex_ ON ' + d.statement + '('
+ case when equality_columns IS NOT NULL then equality_columns else '' end
+ case when equality_columns IS NOT NULL AND inequality_columns IS NOT NULL then ', ' else '' end
+ case when inequality_columns IS NOT NULL then inequality_columns else '' end
+ ')'
+ case when included_columns IS NOT NULL then ' INCLUDE (' + included_columns + ')' else '' end
AS SQL
from sys.dm_db_missing_index_details d
INNER JOIN sys.dm_db_missing_index_groups g ON d.index_handle = g.index_handle
INNER JOIN sys.dm_db_missing_index_group_stats s ON g.index_group_handle = s.group_handle
关于delphi - dbExpress 和 SQL Server 2008 速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8637617/
我使用的是 Delphi 2010 Professional,它没有附带 Firebird 的 dbExpress 驱动程序。如果我开始使用 Firebird dbExpress driver wri
我是dbexpress的新手,我无法弄清楚如何在运行时为SQL主机名设置TSQLConnection参数。当我在客户端系统上安装程序时,TSQLConnectionHost仍从开发过程中输入的开发系统
我正在使用dbExpress组件(Delphi 7)开发数据库程序。通过以下组件从数据库检索数据:TSQLDataSet-> TDataSetProvider-> TClientDataSet-> T
我有一个基于动态创建的 SQL 查询的 TSimpleDataSet。我需要知道哪个字段是主键? SimpleDataSet1.DataSet.SetSchemaInfo(stIndexes, 'my
var Connection: TSQLConnection; SqlSet:TSQLDataSet; begin Connection := TSQLConnection.Create(
我只使用 DbExpress 组件在 Delphi 中完成了“GUI”数据库访问,但现在我想在后台执行一个查询。我读到一些 TSQLConnection 不是线程安全的,我必须为每个线程创建新连接。我
我的应用程序遇到了一个奇怪的问题,它的内存使用量时不时地增加几百兆字节,最终应用程序卡住。该应用程序是用Delphi编写的,它使用数据库、COM(用于OPC)和TCP/IP。 使用 FastMM,我可
我的 D7 dBExpress 项目应该连接到本地 Interbase XE7 服务器。它具有常用的 DBX 设置:SqlConnection、SqlQuery、DataSetProvider 和Cl
我目前正在 IIS 上设置 Datasnap 服务器。 我已成功让默认的 Datasnap/Javascript 演示正常工作,并将其扩展为将我自己的基于字符串的结果包含到网页版本中。 但是,我很难进
我有这样一条sql语句: UPDATE tbworker SET iState=2 WHERE iState=1; UPDATE tbworker SEt iState=3 WHERE iState=
我正在使用 Delphi 2010 dbexpress 组件连接到我的 MySQL 数据库。我在执行此查询时遇到问题。 SQLQuery1.SQL.Clear; SQLQuery1.SQL.A
我在我的网络 (Mariadb 10.3.24) 上运行 Mysql 服务器,并在相同的数据、相同的机器上使用 dbexpress 和 fireac 进行了性能测试,并且数据库上没有其他用户。我使用的
我在 Delphi 中有一个使用 DBExpress TSQLQuery 的查询,看起来像这样 ActiveSQL.sql.add('SELECT * FROM MYTABLE where MYFIE
我正在尝试从Oracle sql服务器获取查询结果,并将其插入StringGridShowPapers表中。 我已经建立并工作了SQLConnection1(一个DBExpress连接),SQLDat
我正在尝试将 oracle 应用程序部署到另一台使用 dbexpress 中的 dbxora.dll 文件的计算机。我已将该文件包含在程序中,但是当我运行该程序并尝试执行查询时,它会返回错误,无法加载
鉴于以下情况 {------------------------------------------------------------------------------} function TTe
ibdac 查询 ( http://www.devart.com/ibdac/components.html ) 有一个函数 executing 我可以在其中编写如下内容: while MyQuer
我在从程序用户在运行时定义的查询中获取字段列表时遇到问题。我让用户在备忘录控件中输入 SQL 查询,然后我想让他们浏览将返回的字段并执行诸如格式化输出、求和列值等操作。因此,我必须获取列名称,以便它们
我计划将 Delphi 6 BDE 应用程序迁移到 Delphi 2010... 首先,我是否必须放弃 BDE? (我会的,但如果可能的话,我更喜欢分阶段进行) 第二,dbExpress是最好的选择吗
我正在使用 C++ Builder(或 Delphi 2007 和 XE2)以及 DBExpress。我连接了两个数据库,一个用于 firebird(我的本地硬盘),一个用于 MySQL(在 Web
我是一名优秀的程序员,十分优秀!