Oracle和Mysql数据库使用Where 1=1 会使索引失效吗?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点

面试官:Oracle和Mysql数据库使用Where 1=1 会使索引失效吗

"WHERE 1=1"通常被用作一个占位条件,在动态生成SQL语句时非常有用。它可以作为一个基本的WHERE条件,然后根据需要动态添加其他条件。这样在代码层面可以少做很多的判断,不然代码里面一堆的if else

在我们日常开发中,会碰到一些同事会说where 1=1 会影响查询效率,再加上你本身基础也不扎实,别人说会影响,你也跟风,然后以讹传讹,在你脑子里就有 where 1=1 会影响查询效率的印象,这样就导致了流传到现在。其实大错特错。你们想一下,能开发出Oracle 和 MySQL的这些大佬们,你都能想到where 1=1 ,他们技术没你强吗,所以他们在数据库优化器层面已经做了优化处理了。甚至有时候你写了一个垃圾sql 本身不走索引,在他们优化器层面,给你优化处理后,变成了会走索引了。所以数据库的优化器为你扛了所有,并不是你写的sql语句有多牛

无论是Oracle还是MySQL,都被设计得足够智能,

你可能感兴趣的:(#,mysql面试宝典,#,oracle基础,面试这样回答,mysql,oracle,索引)