专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 其他数据库

Where语句中有多个条件时,怎么办

发布时间:2010-05-24 21:28:21 文章来源:www.iduyao.cn 采编人员:星星草
Where语句中有多个条件时,怎么处理?
哥几个,是这样,我在写一个数据库,解析SQL语句时候我有这么一个疑问:

如果有一个where语句假设为“WHERE A AND B OR C”,A,B,C是三个条件。请问我该怎样写程序来做这个where语句要做的事情呢?或者我想知道现有数据库(SQL Server, MySQL)都是怎么做的? 谢谢!

------解决方案--------------------
MYSQL中很复杂,会先进行索引分析,然后如果有索引,则打开索引文件,找到这些记录在数据文件中的位置,然后从数据文件中读取记录根据WHERE后的条件判断输出。

你可以直接下载MYSQL的源代码看其中的 select.c
------解决方案--------------------
不知道嵌套会不会省点时间
------解决方案--------------------
A and B or C ?
==> C or (A and B) ?
==> A and (B or C) ?

------解决方案--------------------
嗯~基本上,现在语法上的不同(语意一致),已经很少能影响数据库的最终效率了
现在的优化,已经做的很好,很BT了~
还有,有关bool运算符~你可以google 一下 "逻辑短路"
------解决方案--------------------
举个例子 A and B
这个就会优化,假如A为false,就不再判断B了~
------解决方案--------------------
逻辑判断主要是看运算的先后顺序,然后就是判断哪种方法能最快得到结果。比如说A or C。任意一个满足就可以,这时就需要判断哪个条件更容易实现或者说筛选。总之,多想想,用程序实现起来也不难。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: