SQL where 条件顺序对性能的影响有哪些
展开全部
1、绝大多数情况下,在MS SQL Server或Oracle这两个最主流的大型数据库中,在近几年的版本中,单条语句中,Where条件中,各条件的顺序对查询的效率、速度,没有明显影响。MS SQL Server或Oracle已经考虑到了Where条件的优化,它们会对这些条件进行智能分析,进行最佳的方式查询。
2、网络上所传Where对性能有影响的说法,要么是针对过往老旧的数据库系统而言,要么就是想当然,要么就是对一些特定的小数据库系统或设计不够好的数据库系统而言的,至少,对当前主流版本的MS SQL Server或Oracle,这种说法是错的。
3、但是,在多语句,特别是使用临时表进行查询的情况下,每条语句的结果是需要设计者认真分析的,要尽可能减少中间数据量,以达到最大效率。
4、如果你不相信,可以自已亲自去MS SQL Server或Oracle中试试,建议MS SQL Server 2008 R2以上版本 或 Oracle 10G 以上版本中,数据量大于10万条记录中,以两个会带来较大记录条数差别的条件,改变它们在where中的顺序去查,你会发现,查询所需时间基本上是一样的(请多次重复,并最好在没有干扰的情况下)。
5、最后想说,IT技术发展到现在,这些问题,大型公司早就考虑到了的。
2、网络上所传Where对性能有影响的说法,要么是针对过往老旧的数据库系统而言,要么就是想当然,要么就是对一些特定的小数据库系统或设计不够好的数据库系统而言的,至少,对当前主流版本的MS SQL Server或Oracle,这种说法是错的。
3、但是,在多语句,特别是使用临时表进行查询的情况下,每条语句的结果是需要设计者认真分析的,要尽可能减少中间数据量,以达到最大效率。
4、如果你不相信,可以自已亲自去MS SQL Server或Oracle中试试,建议MS SQL Server 2008 R2以上版本 或 Oracle 10G 以上版本中,数据量大于10万条记录中,以两个会带来较大记录条数差别的条件,改变它们在where中的顺序去查,你会发现,查询所需时间基本上是一样的(请多次重复,并最好在没有干扰的情况下)。
5、最后想说,IT技术发展到现在,这些问题,大型公司早就考虑到了的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询