{"title":"A Deep Embedding of Queries into Ruby","authors":"Torsten Grust, Manuel Mayr","doi":"10.1109/ICDE.2012.121","DOIUrl":null,"url":null,"abstract":"We demonstrate SWITCH, a deep embedding of relational queries into Ruby and Ruby on Rails. With SWITCH, there is no syntactic or stylistic difference between Ruby programs that operate over in-memory array objects or database-resident tables, even if these programs rely on array order or nesting. SWITCH's built-in compiler and SQL code generator guarantee to emit few queries, addressing long-standing performance problems that trace back to Rails' Active Record database binding. \"Looks likes Ruby, but performs like handcrafted SQL, \" is the ideal that drives the research and development effort behind SWITCH.","PeriodicalId":321608,"journal":{"name":"2012 IEEE 28th International Conference on Data Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 IEEE 28th International Conference on Data Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICDE.2012.121","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13
Abstract
We demonstrate SWITCH, a deep embedding of relational queries into Ruby and Ruby on Rails. With SWITCH, there is no syntactic or stylistic difference between Ruby programs that operate over in-memory array objects or database-resident tables, even if these programs rely on array order or nesting. SWITCH's built-in compiler and SQL code generator guarantee to emit few queries, addressing long-standing performance problems that trace back to Rails' Active Record database binding. "Looks likes Ruby, but performs like handcrafted SQL, " is the ideal that drives the research and development effort behind SWITCH.
我们将演示SWITCH,一个在Ruby和Ruby on Rails中深度嵌入关系查询的工具。使用SWITCH,在操作内存中的数组对象或数据库驻留表的Ruby程序之间没有语法或风格上的区别,即使这些程序依赖于数组顺序或嵌套。SWITCH的内置编译器和SQL代码生成器保证发出很少的查询,解决了长期存在的性能问题,这些问题可以追溯到Rails的Active Record数据库绑定。“看起来像Ruby,但执行起来像手工制作的SQL”是驱动SWITCH背后研究和开发工作的理想。