ADN 中 语句执行的顺序!

z752964360 2011-04-06 02:12:10
随便举个例子:

SELECT p1.prod_id,p1.prod_name
FROM products AS p1,products AS p2
WHERE p1.vend_id = p2.vend_id
AND p2.prod_id = '和谐你妹'


求解 WHERE 中 AND 前后执行的顺序!

如果是 按照书写顺序 这效率不就惨了!

如果---->ACMAIN_CHM<------------大神看到顺便回答下:
《数据库系统概论(第四版)》 王珊 萨师煊 高等教育出版社
里面有这方面的知识没?

或者有啥好的教材,容易读懂的!
...全文
69 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mhss9301 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 z752964360 的回复:]

楼上两位仁兄能推荐点书吗?
[/Quote]
SQL是标准, 但是每种数据库都有自己不同的地方(扩展), 建议楼主在Postgresql 和 Mysql之间选择一个,毕竟都是免费的, Postgresql功能强大, Mysql用的人多, 然后仔细看看各自的文档(包括中文)和实例, 就可以学到很多东西
ACMAIN_CHM 2011-04-06
  • 打赏
  • 举报
回复
[Quote]引用如果---->ACMAIN_CHM<------------大神看到顺便回答下:
《数据库系统概论(第四版)》 王珊 萨师煊 高等教育出版社
里面有这方面的知识没?
有,在SQL语句优化的那一章。

引用求解 WHERE 中 AND 前后执行的顺序!
如果什么索引都没有,则按书写顺序,如果有索引,则MYSQL会进行分析判断最优方案。

引用或者有啥好的教材,容易读懂的!
你提到的那本教材就是80%计算机专业的标准教材。如果读不懂,则说明你还需要学习一下这门课的前导课程。[/Quote]
zuoxingyu 2011-04-06
  • 打赏
  • 举报
回复
对于你举的这个例子,有很多种执行可能性
1:先处理AND p2.prod_id = '和谐你妹',再连接
2:先连接,得到的结果集再处理AND p2.prod_id = '和谐你妹'
z752964360 2011-04-06
  • 打赏
  • 举报
回复
冰糖大哥,,能否推荐一个整体性的教材?
系统学习的!
z752964360 2011-04-06
  • 打赏
  • 举报
回复
楼上两位仁兄能推荐点书吗?
mhss9301 2011-04-06
  • 打赏
  • 举报
回复
这个一般是由规划器决定的, 在执行查询之前, 规划器会自动分析, 按照一个它认为最优的方式进行
因为数据库的种类繁多, 不敢保证所有的数据库都会这样
rucypli 2011-04-06
  • 打赏
  • 举报
回复
这个是由数据库本身解析出最优的执行计划来决定的

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧