Sql server SQL server客户端基准测试/低性能问题
在执行大量插入查询时,我们用SQLServer2008测试了低性能。这些查询按25、50、100或200行的批次包含在事务中 影响DB性能的因素不同:Sql server SQL server客户端基准测试/低性能问题,sql-server,toad,freetds,jtds,sqsh,Sql Server,Toad,Freetds,Jtds,Sqsh,在执行大量插入查询时,我们用SQLServer2008测试了低性能。这些查询按25、50、100或200行的批次包含在事务中 影响DB性能的因素不同: 数据库同时处理的并发查询数 不太明显的是,插入的复杂性(8列时的正常速度,但20列时的速度要慢60倍!) 更出乎意料的是,客户端应用程序:我们测试了JTD、SQSH(命令行)和Toad(GUI) 下图显示了蟾蜍如何比其他两种应用程序更快、更稳定: 注意:我们还测试了SQLServerExpress,它的速度和Toad一样快 Toad如何能比其
- 数据库同时处理的并发查询数
- 不太明显的是,插入的复杂性(8列时的正常速度,但20列时的速度要慢60倍!)
- 更出乎意料的是,客户端应用程序:我们测试了JTD、SQSH(命令行)和Toad(GUI)
弗朗索瓦我在前面的问题中已经说过这一点,但有几件事你应该看看 第一项:看看你的执行计划,它经常会指出问题的根源所在。一个错误的连接或转换可能会破坏服务器的性能 第二项:寻找隐式转换,我最近通过将筛选器变量从datetime对象更改为smalldatetime对象,将查询的性能时间从2分钟减少到10秒左右。这就消除了我所比较的600万行上的隐式转换
第三项:这是昂贵的,我们发现在复制过程中使用转换/插入来复制表(然后处理约束、权限、索引和触发器)比更新这些行要便宜。谢谢Orgtiger,但在这种情况下,相同的SQL脚本(假定已优化)根据客户端应用程序以不同的性能执行。我不相信蟾蜍,最快的应用程序,在执行之前会优化我的代码。那么,我们如何解释这些差异呢?