我有一个选择查询,我想并行运行50次(加载测试)即。 50个独立时间(一个单独的过程)。
如果我像这样跑
for (int i=0;i<=49;i++)
{
//record start time before the query
//Code that runs the select query...
//record end time after the query
}
我需要测试select查询50次,是否需要使用50个不同的线程或在for循环中运行该查询50次,这是正确的方法吗?
有没有更好的方法来检查查询的消耗时间50次?我需要使用线程吗?我不确定如何使用Threads,对线程编程没有太多了解,任何样本都会有所帮助。
答案 0 :(得分:0)
首先,你为什么要这样做?这是用于性能评估目的,作为一个有趣的爱好项目,还是生产代码的一部分?
由于它是一个Select查询,因此您不应遇到尝试实现异步插入/更新/删除查询的相同类型的锁定/事务中断问题。有一点需要知道的是,不要在循环中运行它们,因为那是同步的。如果需要,可以在循环中设置查询,但是您需要使用Service Broker来运行它们。看看this excellent article即可开始使用。对于C#方面,如果您正在运行2012,请查看this MSDN article。