问一下数据查询效率,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/09 12:50:17
假设一个表有几千万条数据,在应用中,我想知道张三(uid=zhangsan)这个用户的插入记录数是否达到3条,有两种方法可以实现:
第一种方法:select count(id) from table1 where uid='"+zhangsan+"'。
统计出总记录后与数字3进行比较;
第二种方法:select top 3 id from table1 where uid='"+zhangsan+"'。
把查询数据填充到DataSet,再取出DataSet中的记录条数

前提条件是数据有几千万条,请问朋友们,为了提高运行效率和尽量减少资源占用,请问哪种方法好,为什么?
哦,对了,补充一下,所有要用作搜索条件的字段全部设置索引

不同的sql执行器做的优化是不同的
你可以用分析器分析一下这两条语句各自的效率
如果叫张三的插入记录比比较多那么第二种方法就比较好
如果记录数小于等于3那么这两中方法效率可以等同
优化器主要是根据where 子句优化
这两中方法条件是一样的,我感觉差别不会太大

你的用户字段上有没有建立索引