【发布时间】:2023-03-22 00:50:01
【问题描述】:
就在最近,一位朋友建议用汇编代码编写 SQL 语句是可能且可实现的(尽管非常困难),因为每个编程操作最终都会归结为处理器级执行。
我对 SQL 的行为做了一些研究,虽然它遵循关系代数的理论和独立于平台的执行,但我仍然认为抽象和语义的水平相当遥远,甚至无法考虑将 SQL 语句转换为汇编代码(一组非常特定于操作/内存/资源的指令)。
也许您可以模仿 SQL 语句的处理器操作结果,并尝试使用纯汇编指令集来复制它。但您会意识到,您仍然不会编写/翻译 SQL 语句。
以 MonetDB 的 SQL Reference 页面为例,他们在第三段中声明如下:
"该架构基于编译器,它可以翻译 SQL MonetDB 汇编语言 (MAL) 中的语句。在这个过程中 特定于关系代数的常见优化启发式是 执行。”
然而,SQL 语言甚至不允许输入粗暴的汇编指令,而基于 C 和 C# 等常见语言则允许输入/导入。
你们怎么看?感谢您分享您的想法!
【问题讨论】:
标签: sql programming-languages assembly processor relational-algebra