本篇文章给大家带来了关于mysql的相关知识,主要介绍了体系化探讨令人头疼的JOIN运算,本文将对JOIN运算进行体系化深入的探讨,根据自己工作经验及参考业界经典案例,针对性地提出语法简化和性能优化的方法论,希望对大家有帮助。
推荐学习:mysql视频教程
SQL是如何理解JOIN运算
两个集合(表)做笛卡尔积后再按某种条件过滤,写出来的语法就是A JOIN B ON …。
A | |
---|---|
1 | =file(“customer.btx”).import@b() |
2 | =file(“orders.btx”).cursor@b() |
3 | >A2.switch(custkey,A1:#) |
4 | =A2.groups(custkey.city;sum(amount)) |
在这个算法基础上,我们还可以做个变种:外键序号化。
如果我们能把维表的主键都转换成从1开始的自然数,那么我们就可以用序号直接定位维表记录,就不需要计算和比对HASH值,这样就可以获得类似全内存下地址化的性能了。
A | |
---|---|
1 | =file(“customer.btx”).import@b() |
2 | =file(“orders.btx”).cursor@b() |
3 | >A2.switch(custkey,A1:#) |
4 | =A2.groups(custkey.city;sum(amount)) |
推荐学习:mysql视频教程
以上是Mysql体系化解析之JOIN运算的详细内容。更多信息请关注PHP中文网其他相关文章!