数据量太大的时候传输时间超出CommandTimeOut设顶的时间限制,可把CommandTimeOut设为0.建议只使用需要的数据,用SQL语句.
CommandTimeout 属性 (ADO)
指示在终止尝试和产生错误之前执行命令期间需等待的时间。设置和返回值设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默认值为 30。说明使用 Connection 对象或 Command 上的 CommandTimeout 属性,允许由于网络拥塞或服务器负载过重产生的延迟而取消 Execute 方法调用。如果在 CommandTimeout 属性中设置的时间间隔内没有完成命令执行,将产生错误,然后 ADO 将取消该命令。如果将该属性设置为零,ADO 将无限期等待直到命令执行完毕。请确保正在写入代码的提供者和数据源支持 CommandTimeout 功能。Connection 对象的 CommandTimeout 设置不会对相同 Connection 上 Command 对象的 CommandTimeout 设置产生影响,即 Command 对象的 CommandTimeout 属性不继承 Connection 对象的 CommandTimeout 的值。在 Connection 对象上,打开 Connection 后,CommandTimeout 属性将保持读/写。
CommandTimeout 属性 (ADO)
指示在终止尝试和产生错误之前执行命令期间需等待的时间。设置和返回值设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默认值为 30。说明使用 Connection 对象或 Command 上的 CommandTimeout 属性,允许由于网络拥塞或服务器负载过重产生的延迟而取消 Execute 方法调用。如果在 CommandTimeout 属性中设置的时间间隔内没有完成命令执行,将产生错误,然后 ADO 将取消该命令。如果将该属性设置为零,ADO 将无限期等待直到命令执行完毕。请确保正在写入代码的提供者和数据源支持 CommandTimeout 功能。Connection 对象的 CommandTimeout 设置不会对相同 Connection 上 Command 对象的 CommandTimeout 设置产生影响,即 Command 对象的 CommandTimeout 属性不继承 Connection 对象的 CommandTimeout 的值。在 Connection 对象上,打开 Connection 后,CommandTimeout 属性将保持读/写。
请问这样无限期的执行下去,是否就意味着死机呢?
请问这样无限期的执行下去,是否就意味着死机呢? 那你可以用异步查询。
对text字段设置FullText Index(全文索引)
查询时用Contains 谓词
对其它段设置分级索引,(建分级索引表(即分类,再分子类))
查询时先查询分级索引表,先获取相关记录ID
然后再在记录中作最终查询!由此,上万条记录通常是1至2秒完成!
有索引和无索引时速度也不一样,还有就是你数据库的设计只要你能够利用主键和索引,上万条记录应该没问题Good Luck!!!!!!!!