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

[复制链接]
查看11 | 回复2 | 2009-8-2 07:26:56 | 显示全部楼层 |阅读模式
假设一个表有几千万条数据,在应用中,我想知道张三(uid=zhangsan)这个用户的插入记录数是否达到3条,有两种方法可以实现:
第一种方法:select count(id) from table1 where uid='"+zhangsan+"'。
统计出总记录后与数字3进行比较;
第二种方法:select top 3 id from table1 where uid='"+zhangsan+"'。
把查询数据填充到DataSet,再取出DataSet中的记录条数
前提条件是数据有几千万条,请问朋友们,为了提高运行效率和尽量减少资源占用,请问哪种方法好,为什么?
哦,对了,补充一下,所有要用作搜索条件的字段全部设置索引

回复

使用道具 举报

千问 | 2009-8-2 07:26:56 | 显示全部楼层
不同的sql执行器做的优化是不同的你可以用分析器分析一下这两条语句各自的效率如果叫张三的插入记录比比较多那么第二种方法就比较好如果记录数小于等于3那么这两中方法效率可以等同优化器主要是根据where 子句优化这两中方法条件是一样的,我感觉差别不会太大...
回复

使用道具 举报

千问 | 2009-8-2 07:26:56 | 显示全部楼层
你的用户字段上有没有建立索引...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行