数据查询方法的比较
2008-09-20 10:26
211 查看
查寻方式 | 缺点 | 优点 |
Locate | 会从数据来源中下载所有的数据,如果数据表中包含大量的数据,那么执行效率会很缓慢,而且容易造成客户端的当机 | 查寻数据的执行效率保持稳定的结果,而不管要查寻的数据是否已经存在于结果数据集中,而且没有其他的副作用 |
使用CloneCursor | 如果欲查寻的数据不在结果数据集中,那么仍然会下载数据表中所有的数据,而且表现的比直接使用Locate等方法还缓慢 | 如果欲查寻的数据已经存在于结果数据集中,那么它可以避免下载所有的数据,并且能够快速地找到查寻的数据 |
使用CloneCursor加SQL语句加AppendData | 可能会发生重复数据的副作用 | 提供最快的查寻效率,不管数据是否在结果数据集中,或是后端数据来源中。同时下载的数据量最少,网络的负荷最轻 |
使用拷贝数据 | 程序必须拷贝一些额外的数据 | 可以提供比直接使用Locate等方法更好的查寻效率,同时没有CloneCursor方法的缺点,也没有CloneCursor加SQL语句的副作用 |
中提高查询速度的方法。
子查询为确保消除重复值,必须为外部查询的每个结果都处理嵌套查询。在这种情况下可以考虑用联接查询来取代。
如果要用子查询,那就用EXISTS替代IN、用NOT
EXISTS替代NOT IN。因为EXISTS引入的子查询只是测试是否存在符合子查询中指定条件的行,效率较高。无论在哪种情况下,NOT
IN都是最低效的。因为它对子查询中的表执行了一个全表遍历。
建立合理的索引,避免扫描多余数据,避免表扫描!
几百万条数据,照样几十毫秒完成查询.
相关文章推荐
- JdbcTemplate查询数据中两种处理结果集方法的简单比较
- 主流数据库之间对SQL:2003标准的不同实现方法比较(第四部分 查询结果集中间n行数据)
- 关于Oracle的exp和dblink转移数据效率比较以及DBLINK查询大字段方法
- 数据查询方法的比较
- SQLserver查询数据类型为ntext是空或NULL值的方法
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- json返回hibernate的结果会自动调用(get)查询出关联表的数据,解决方法
- 过滤IBatis方法查询出来的重复数据
- javaEE数据库查询数据时,bean对象需要添加属性的set、get方法,否则查找不到
- mysql查询每天每周每月每年的数据方法
- 用不规则矢量多边形裁切栅格数据的方法比较
- Access模糊查询查不到数据的解决方法
- MSSql简单查询出数据表中所有重复数据的方法
- 处理百万级以上的数据提高查询速度的方法
- ASP.NET页面间数据传递的方法比较和分析
- MySQL 查询单条数据多次与一次查询多条数据的比较
- oracle 查询当天记录 三种方法效率比较
- sql在不同数据库查询前几条数据的方法
- 解析Oracle数据扫描 Oracle SQL查询优化 引导局部范围数据扫描的方法(5)
- ArcEngine数据删除几种方法和性能比较【转载】