{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,22]],"date-time":"2025-08-22T05:11:56Z","timestamp":1755839516620},"reference-count":68,"publisher":"Association for Computing Machinery (ACM)","issue":"6","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2023,2]]},"abstract":"<jats:p>Exploiting the relationships among data is a classical query optimization technique. As persistent data is increasingly being created and maintained programmatically, prior work that infers data relationships from data statistics misses an important opportunity. We present Coco, the first tool that identifies data relationships by analyzing database-backed applications. Once identified, Coco leverages the constraints to optimize the application's physical design and query execution. Instead of developing a fixed set of predefined rewriting rules, Coco employs an enumerate-test-verify technique to automatically exploit the discovered data constraints to improve query execution. Each resulting rewrite is provably equivalent to the original query. Using 14 real-world web applications, our experiments show that Coco can discover numerous data constraints from code analysis and improve real-world application performance significantly.<\/jats:p>","DOI":"10.14778\/3583140.3583141","type":"journal-article","created":{"date-parts":[[2023,4,20]],"date-time":"2023-04-20T16:45:59Z","timestamp":1682009159000},"page":"1208-1221","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Leveraging Application Data Constraints to Optimize Database-Backed Web Applications"],"prefix":"10.14778","volume":"16","author":[{"given":"Xiaoxuan","family":"Liu","sequence":"first","affiliation":[{"name":"University of California, Berkeley"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shuxian","family":"Wang","sequence":"additional","affiliation":[{"name":"University of California, Berkeley"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mengzhu","family":"Sun","sequence":"additional","affiliation":[{"name":"University of California, Berkeley"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sicheng","family":"Pan","sequence":"additional","affiliation":[{"name":"University of California, Berkeley"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ge","family":"Li","sequence":"additional","affiliation":[{"name":"University of California, Berkeley"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Siddharth","family":"Jha","sequence":"additional","affiliation":[{"name":"University of California, Berkeley"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Cong","family":"Yan","sequence":"additional","affiliation":[{"name":"Microsoft Research"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Junwen","family":"Yang","sequence":"additional","affiliation":[{"name":"Meta"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shan","family":"Lu","sequence":"additional","affiliation":[{"name":"University of Chicago"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alvin","family":"Cheung","sequence":"additional","affiliation":[{"name":"University of California, Berkeley"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,4,20]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Class inheritance in Django. https:\/\/docs.djangoproject.com\/en\/4.1\/topics\/db\/models\/#model-inheritance. Last accessed","year":"2023","unstructured":"[n.d.]. Class inheritance in Django. https:\/\/docs.djangoproject.com\/en\/4.1\/topics\/db\/models\/#model-inheritance. Last accessed 18 February 2023 . [n.d.]. Class inheritance in Django. https:\/\/docs.djangoproject.com\/en\/4.1\/topics\/db\/models\/#model-inheritance. Last accessed 18 February 2023."},{"key":"e_1_2_1_2_1","volume-title":"Constraint type in PostgreSQL. https:\/\/www.postgresql.org\/docs\/13\/ddl-constraints.html. Last accessed","year":"2023","unstructured":"[n.d.]. Constraint type in PostgreSQL. https:\/\/www.postgresql.org\/docs\/13\/ddl-constraints.html. Last accessed 18 February 2023 . [n.d.]. Constraint type in PostgreSQL. https:\/\/www.postgresql.org\/docs\/13\/ddl-constraints.html. Last accessed 18 February 2023."},{"key":"e_1_2_1_3_1","volume-title":"An open source software for building communities. https:\/\/github.com\/forem\/forem. Last accessed","year":"2023","unstructured":"[n.d.]. Dev.to. An open source software for building communities. https:\/\/github.com\/forem\/forem. Last accessed 18 February 2023 . [n.d.]. Dev.to. An open source software for building communities. https:\/\/github.com\/forem\/forem. Last accessed 18 February 2023."},{"key":"e_1_2_1_4_1","volume-title":"https:\/\/github.com\/diaspora\/diaspora. Last accessed","year":"2023","unstructured":"[n.d.]. Diaspora. https:\/\/github.com\/diaspora\/diaspora. Last accessed 17 February 2023 . [n.d.]. Diaspora. https:\/\/github.com\/diaspora\/diaspora. Last accessed 17 February 2023."},{"key":"e_1_2_1_5_1","volume-title":"https:\/\/github.com\/discourse\/discourse. Last accessed","year":"2023","unstructured":"[n.d.]. Discourse. https:\/\/github.com\/discourse\/discourse. Last accessed 18 February 2023 . [n.d.]. Discourse. https:\/\/github.com\/discourse\/discourse. Last accessed 18 February 2023."},{"key":"e_1_2_1_6_1","volume-title":"Discourse Database size. https:\/\/meta.discourse.org\/t\/57598\/. Last accessed","year":"2023","unstructured":"[n.d.]. Discourse Database size. https:\/\/meta.discourse.org\/t\/57598\/. Last accessed 18 February 2023 . [n.d.]. Discourse Database size. https:\/\/meta.discourse.org\/t\/57598\/. Last accessed 18 February 2023."},{"key":"e_1_2_1_7_1","volume-title":"Disjunctive subquery optimization. https:\/\/nenadnoveljic.com\/blog\/disjunctive-subquery-optimization\/. Last accessed","year":"2023","unstructured":"[n.d.]. Disjunctive subquery optimization. https:\/\/nenadnoveljic.com\/blog\/disjunctive-subquery-optimization\/. Last accessed 18 February 2023 . [n.d.]. Disjunctive subquery optimization. https:\/\/nenadnoveljic.com\/blog\/disjunctive-subquery-optimization\/. Last accessed 18 February 2023."},{"key":"e_1_2_1_8_1","volume-title":"Django validation API. https:\/\/docs.djangoproject.com\/en\/4.1\/ref\/validators\/. Last accessed","year":"2023","unstructured":"[n.d.]. Django validation API. https:\/\/docs.djangoproject.com\/en\/4.1\/ref\/validators\/. Last accessed 18 February 2023 . [n.d.]. Django validation API. https:\/\/docs.djangoproject.com\/en\/4.1\/ref\/validators\/. Last accessed 18 February 2023."},{"key":"e_1_2_1_9_1","volume-title":"Enumeration type in MySQL. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/enum.html. Last accessed","year":"2023","unstructured":"[n.d.]. Enumeration type in MySQL. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/enum.html. Last accessed 18 February 2023 . [n.d.]. Enumeration type in MySQL. https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/enum.html. Last accessed 18 February 2023."},{"key":"e_1_2_1_10_1","volume-title":"Enumeration type in PostgreSQL. https:\/\/www.postgresql.org\/docs\/9.1\/datatype-enum.html. Last accessed","year":"2023","unstructured":"[n.d.]. Enumeration type in PostgreSQL. https:\/\/www.postgresql.org\/docs\/9.1\/datatype-enum.html. Last accessed 18 February 2023 . [n.d.]. Enumeration type in PostgreSQL. https:\/\/www.postgresql.org\/docs\/9.1\/datatype-enum.html. Last accessed 18 February 2023."},{"key":"e_1_2_1_11_1","volume-title":"https:\/\/github.com\/gitlabhq\/gitlabhq. Last accessed","year":"2023","unstructured":"[n.d.]. Gitlab. https:\/\/github.com\/gitlabhq\/gitlabhq. Last accessed 17 February 2023 . [n.d.]. Gitlab. https:\/\/github.com\/gitlabhq\/gitlabhq. Last accessed 17 February 2023."},{"key":"e_1_2_1_12_1","volume-title":"Join elimination. https:\/\/blog.jooq.org\/2017\/09\/01\/join-elimination-an-essential-optimiser-feature-for-advanced-sql-usage\/. Last accessed","year":"2023","unstructured":"[n.d.]. Join elimination. https:\/\/blog.jooq.org\/2017\/09\/01\/join-elimination-an-essential-optimiser-feature-for-advanced-sql-usage\/. Last accessed 18 February 2023 . [n.d.]. Join elimination. https:\/\/blog.jooq.org\/2017\/09\/01\/join-elimination-an-essential-optimiser-feature-for-advanced-sql-usage\/. Last accessed 18 February 2023."},{"key":"e_1_2_1_13_1","volume-title":"https:\/\/github.com\/lobsters\/lobsters. Last accessed","year":"2023","unstructured":"[n.d.]. Lobsters. https:\/\/github.com\/lobsters\/lobsters. Last accessed 17 February 2023 . [n.d.]. Lobsters. https:\/\/github.com\/lobsters\/lobsters. Last accessed 17 February 2023."},{"key":"e_1_2_1_14_1","volume-title":"https:\/\/github.com\/loomio\/loomio. Last accessed","year":"2023","unstructured":"[n.d.]. Loomio. https:\/\/github.com\/loomio\/loomio. Last accessed 17 February 2023 . [n.d.]. Loomio. https:\/\/github.com\/loomio\/loomio. Last accessed 17 February 2023."},{"key":"e_1_2_1_15_1","volume-title":"https:\/\/github.com\/mastodon\/mastodon. Last accessed","year":"2023","unstructured":"[n.d.]. Mastodon. https:\/\/github.com\/mastodon\/mastodon. Last accessed 17 February 2023 . [n.d.]. Mastodon. https:\/\/github.com\/mastodon\/mastodon. Last accessed 17 February 2023."},{"key":"e_1_2_1_16_1","volume-title":"https:\/\/bit.ly\/metanome. Last accessed","year":"2023","unstructured":"[n.d.]. Metanome. https:\/\/bit.ly\/metanome. Last accessed 18 February 2023 . [n.d.]. Metanome. https:\/\/bit.ly\/metanome. Last accessed 18 February 2023."},{"key":"e_1_2_1_17_1","volume-title":"A social networking website to help management for churches. https:\/\/github.com\/seven1m\/onebody. Last accessed","year":"2023","unstructured":"[n.d.]. Onebody. A social networking website to help management for churches. https:\/\/github.com\/seven1m\/onebody. Last accessed 18 February 2023 . [n.d.]. Onebody. A social networking website to help management for churches. https:\/\/github.com\/seven1m\/onebody. Last accessed 18 February 2023."},{"key":"e_1_2_1_18_1","volume-title":"A web-based project management software. https:\/\/github.com\/opf\/openproject. Last accessed","year":"2023","unstructured":"[n.d.]. OpenProject , A web-based project management software. https:\/\/github.com\/opf\/openproject. Last accessed 18 February 2023 . [n.d.]. OpenProject, A web-based project management software. https:\/\/github.com\/opf\/openproject. Last accessed 18 February 2023."},{"key":"e_1_2_1_19_1","volume-title":"https:\/\/github.com\/openstreetmap\/openstreetmap-website. Last accessed","year":"2023","unstructured":"[n.d.]. OpenStreetMap. https:\/\/github.com\/openstreetmap\/openstreetmap-website. Last accessed 17 February 2023 . [n.d.]. OpenStreetMap. https:\/\/github.com\/openstreetmap\/openstreetmap-website. Last accessed 17 February 2023."},{"key":"e_1_2_1_20_1","volume-title":"Rails Backend Database. https:\/\/guides.rubyonrails.org\/v2.3\/getting_started.html#configuring-a-database. Last accessed","year":"2023","unstructured":"[n.d.]. Rails Backend Database. https:\/\/guides.rubyonrails.org\/v2.3\/getting_started.html#configuring-a-database. Last accessed 18 February 2023 . [n.d.]. Rails Backend Database. https:\/\/guides.rubyonrails.org\/v2.3\/getting_started.html#configuring-a-database. Last accessed 18 February 2023."},{"key":"e_1_2_1_21_1","volume-title":"Rails migration files. https:\/\/guides.rubyonrails.org\/active_record_migrations.html. Last accessed","year":"2023","unstructured":"[n.d.]. Rails migration files. https:\/\/guides.rubyonrails.org\/active_record_migrations.html. Last accessed 18 February 2023 . [n.d.]. Rails migration files. https:\/\/guides.rubyonrails.org\/active_record_migrations.html. Last accessed 18 February 2023."},{"key":"e_1_2_1_22_1","volume-title":"Rails single table inheritance. https:\/\/api.rubyonrails.org\/classes\/ActiveRecord\/Inheritance.html. Last accessed","year":"2023","unstructured":"[n.d.]. Rails single table inheritance. https:\/\/api.rubyonrails.org\/classes\/ActiveRecord\/Inheritance.html. Last accessed 18 February 2023 . [n.d.]. Rails single table inheritance. https:\/\/api.rubyonrails.org\/classes\/ActiveRecord\/Inheritance.html. Last accessed 18 February 2023."},{"key":"e_1_2_1_23_1","volume-title":"Rails state machine library. https:\/\/github.com\/aasm\/aasm. Last accessed","year":"2023","unstructured":"[n.d.]. Rails state machine library. https:\/\/github.com\/aasm\/aasm. Last accessed 18 February 2023 . [n.d.]. Rails state machine library. https:\/\/github.com\/aasm\/aasm. Last accessed 18 February 2023."},{"key":"e_1_2_1_24_1","volume-title":"Rails validation API. https:\/\/guides.rubyonrails.org\/active_record_validations.html. Last accessed","year":"2023","unstructured":"[n.d.]. Rails validation API. https:\/\/guides.rubyonrails.org\/active_record_validations.html. Last accessed 18 February 2023 . [n.d.]. Rails validation API. https:\/\/guides.rubyonrails.org\/active_record_validations.html. Last accessed 18 February 2023."},{"key":"e_1_2_1_25_1","volume-title":"A project management application. https:\/\/github.com\/redmine\/redmine. Last accessed","year":"2023","unstructured":"[n.d.]. Redmine. A project management application. https:\/\/github.com\/redmine\/redmine. Last accessed 18 February 2023 . [n.d.]. Redmine. A project management application. https:\/\/github.com\/redmine\/redmine. Last accessed 18 February 2023."},{"key":"e_1_2_1_26_1","volume-title":"Remove Distinct in PostgreSQL. https:\/\/commitfest.postgresql.org\/35\/2433\/. Last accessed","year":"2023","unstructured":"[n.d.]. Remove Distinct in PostgreSQL. https:\/\/commitfest.postgresql.org\/35\/2433\/. Last accessed 18 February 2023 . [n.d.]. Remove Distinct in PostgreSQL. https:\/\/commitfest.postgresql.org\/35\/2433\/. Last accessed 18 February 2023."},{"key":"e_1_2_1_27_1","volume-title":"Ror ecommerce. https:\/\/github.com\/drhenner\/ror_ecommerce. Last accessed","year":"2023","unstructured":"[n.d.]. Ror ecommerce. https:\/\/github.com\/drhenner\/ror_ecommerce. Last accessed 17 February 2023 . [n.d.]. Ror ecommerce. https:\/\/github.com\/drhenner\/ror_ecommerce. Last accessed 17 February 2023."},{"key":"e_1_2_1_28_1","volume-title":"Ruby on Rails, a ruby web application framework. https:\/\/rubyonrails.org\/. Last accessed","year":"2023","unstructured":"[n.d.]. Ruby on Rails, a ruby web application framework. https:\/\/rubyonrails.org\/. Last accessed 18 February 2023 . [n.d.]. Ruby on Rails, a ruby web application framework. https:\/\/rubyonrails.org\/. Last accessed 18 February 2023."},{"key":"e_1_2_1_29_1","volume-title":"Solver z3. https:\/\/pypi.org\/project\/z3-solver\/. Last accessed","year":"2023","unstructured":"[n.d.]. Solver z3. https:\/\/pypi.org\/project\/z3-solver\/. Last accessed 18 February 2023 . [n.d.]. Solver z3. https:\/\/pypi.org\/project\/z3-solver\/. Last accessed 18 February 2023."},{"key":"e_1_2_1_30_1","volume-title":"An ecommerce application. https:\/\/github.com\/spree\/spree\/. Last accessed","year":"2023","unstructured":"[n.d.]. Spree. An ecommerce application. https:\/\/github.com\/spree\/spree\/. Last accessed 18 February 2023 . [n.d.]. Spree. An ecommerce application. https:\/\/github.com\/spree\/spree\/. Last accessed 18 February 2023."},{"key":"e_1_2_1_31_1","volume-title":"State Machine API Document. https:\/\/www.rubydoc.info\/github\/pluginaweek\/state_machine\/StateMachine\/MacroMethods. Last accessed","year":"2023","unstructured":"[n.d.]. State Machine API Document. https:\/\/www.rubydoc.info\/github\/pluginaweek\/state_machine\/StateMachine\/MacroMethods. Last accessed 18 February 2023 . [n.d.]. State Machine API Document. https:\/\/www.rubydoc.info\/github\/pluginaweek\/state_machine\/StateMachine\/MacroMethods. Last accessed 18 February 2023."},{"key":"e_1_2_1_32_1","volume-title":"https:\/\/github.com\/TracksApp\/tracks. Last accessed","year":"2023","unstructured":"[n.d.]. Tracks. https:\/\/github.com\/TracksApp\/tracks. Last accessed 17 February 2023 . [n.d.]. Tracks. https:\/\/github.com\/TracksApp\/tracks. Last accessed 17 February 2023."},{"key":"e_1_2_1_33_1","volume-title":"Validation API Document. https:\/\/guides.rubyonrails.org\/v3.2\/active_record_validations_callbacks.html#skipping-callbacks. Last accessed","year":"2023","unstructured":"[n.d.]. Validation API Document. https:\/\/guides.rubyonrails.org\/v3.2\/active_record_validations_callbacks.html#skipping-callbacks. Last accessed 18 February 2023 . [n.d.]. Validation API Document. https:\/\/guides.rubyonrails.org\/v3.2\/active_record_validations_callbacks.html#skipping-callbacks. Last accessed 18 February 2023."},{"key":"e_1_2_1_34_1","volume-title":"Validators in Hibernate. https:\/\/hibernate.org\/validator\/. Last accessed","year":"2023","unstructured":"[n.d.]. Validators in Hibernate. https:\/\/hibernate.org\/validator\/. Last accessed 18 February 2023 . [n.d.]. Validators in Hibernate. https:\/\/hibernate.org\/validator\/. Last accessed 18 February 2023."},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management. 949--958","author":"Abedjan Ziawasch","year":"2014","unstructured":"Ziawasch Abedjan , Patrick Schulze , and Felix Naumann . 2014 . DFD: Efficient functional dependency discovery . In Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management. 949--958 . Ziawasch Abedjan, Patrick Schulze, and Felix Naumann. 2014. DFD: Efficient functional dependency discovery. In Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management. 949--958."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183713.3190662"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings 2003 VLDB Conference. Elsevier, 668--679","author":"Brown Paul G","year":"2003","unstructured":"Paul G Brown and Peter J Haas . 2003 . BHUNT: Automatic discovery of fuzzy algebraic constraints in relational data . In Proceedings 2003 VLDB Conference. Elsevier, 668--679 . Paul G Brown and Peter J Haas. 2003. BHUNT: Automatic discovery of fuzzy algebraic constraints in relational data. In Proceedings 2003 VLDB Conference. Elsevier, 668--679."},{"key":"e_1_2_1_38_1","doi-asserted-by":"crossref","unstructured":"Upen S. Chakravarthy John Grant and Jack Minker. 1990. Logic-Based Approach to Semantic Query Optimization. ACM Trans. Database Syst. (1990) 162--207.  Upen S. Chakravarthy John Grant and Jack Minker. 1990. Logic-Based Approach to Semantic Query Optimization. ACM Trans. Database Syst. (1990) 162--207.","DOI":"10.1145\/78922.78924"},{"key":"e_1_2_1_39_1","volume-title":"VLDB","volume":"99","author":"Cheng Qi","year":"1999","unstructured":"Qi Cheng , Jarek Gryz , Fred Koo , TY Cliff Leung , Linqi Liu , Xiaoyan Qian , and Bernhard Schiefer . 1999 . Implementation of two semantic query optimization techniques in DB2 universal database . In VLDB , Vol. 99 . Citeseer, 687--698. Qi Cheng, Jarek Gryz, Fred Koo, TY Cliff Leung, Linqi Liu, Xiaoyan Qian, and Bernhard Schiefer. 1999. Implementation of two semantic query optimization techniques in DB2 universal database. In VLDB, Vol. 99. Citeseer, 687--698."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.14778\/3236187.3236200"},{"key":"e_1_2_1_41_1","volume-title":"Cosette: An Automated Prover for SQL. In CIDR.","author":"Chu Shumo","year":"2017","unstructured":"Shumo Chu , Chenglong Wang , Konstantin Weitz , and Alvin Cheung . 2017 . Cosette: An Automated Prover for SQL. In CIDR. Shumo Chu, Chenglong Wang, Konstantin Weitz, and Alvin Cheung. 2017. Cosette: An Automated Prover for SQL. In CIDR."},{"key":"e_1_2_1_42_1","doi-asserted-by":"crossref","unstructured":"Shumo Chu Konstantin Weitz Alvin Cheung and Dan Suciu. 2017. HoTTSQL: Proving Query Rewrites with Univalent SQL Semantics. In PLDI. 510--524.  Shumo Chu Konstantin Weitz Alvin Cheung and Dan Suciu. 2017. HoTTSQL: Proving Query Rewrites with Univalent SQL Semantics. In PLDI. 510--524.","DOI":"10.1145\/3140587.3062348"},{"key":"e_1_2_1_43_1","volume-title":"VLDB","volume":"96","author":"Cochrane Roberta","year":"1996","unstructured":"Roberta Cochrane , Hamid Pirahesh , and Nelson Mattos . 1996 . Integrating triggers and declarative constraints in SQL database systems . In VLDB , Vol. 96 . Citeseer, 3--6. Roberta Cochrane, Hamid Pirahesh, and Nelson Mattos. 1996. Integrating triggers and declarative constraints in SQL database systems. In VLDB, Vol. 96. Citeseer, 3--6."},{"key":"e_1_2_1_44_1","unstructured":"Shaul Dar Michael J. Franklin Bj\u00f6rn \u00de\u00f3r J\u00f3nsson Divesh Srivastava and Michael Tan. 1996. Semantic Data Caching and Replacement. In VLDB. 330--341.  Shaul Dar Michael J. Franklin Bj\u00f6rn \u00de\u00f3r J\u00f3nsson Divesh Srivastava and Michael Tan. 1996. Semantic Data Caching and Replacement. In VLDB. 330--341."},{"key":"e_1_2_1_45_1","volume-title":"Thirty-Second AAAI Conference on Artificial Intelligence.","author":"Raedt Luc De","year":"2018","unstructured":"Luc De Raedt , Andrea Passerini , and Stefano Teso . 2018 . Learning constraints from examples . In Thirty-Second AAAI Conference on Artificial Intelligence. Luc De Raedt, Andrea Passerini, and Stefano Teso. 2018. Learning constraints from examples. In Thirty-Second AAAI Conference on Artificial Intelligence."},{"key":"e_1_2_1_46_1","volume-title":"Proceedings. Seventh International Conference on Data Engineering. IEEE Computer Society, 248--249","author":"Finance Beatrice","year":"1991","unstructured":"Beatrice Finance and Georges Gardarin . 1991 . A rule-based query rewriter in an extensible dbms . In Proceedings. Seventh International Conference on Data Engineering. IEEE Computer Society, 248--249 . Beatrice Finance and Georges Gardarin. 1991. A rule-based query rewriter in an extensible dbms. In Proceedings. Seventh International Conference on Data Engineering. IEEE Computer Society, 248--249."},{"key":"e_1_2_1_47_1","first-page":"22","article-title":"Query optimization techniques-tips for writing efficient and faster SQL queries","volume":"4","author":"Habimana Jean","year":"2015","unstructured":"Jean Habimana . 2015 . Query optimization techniques-tips for writing efficient and faster SQL queries . International Journal of Scientific & Technology Research 4 , 10 (2015), 22 -- 26 . Jean Habimana. 2015. Query optimization techniques-tips for writing efficient and faster SQL queries. International Journal of Scientific & Technology Research 4, 10 (2015), 22--26.","journal-title":"International Journal of Scientific & Technology Research"},{"key":"e_1_2_1_48_1","volume-title":"TANE: An efficient algorithm for discovering functional and approximate dependencies. The computer journal 42, 2","author":"Huhtala Yka","year":"1999","unstructured":"Yka Huhtala , Juha K\u00e4rkk\u00e4inen , Pasi Porkka , and Hannu Toivonen . 1999 . TANE: An efficient algorithm for discovering functional and approximate dependencies. The computer journal 42, 2 (1999), 100--111. Yka Huhtala, Juha K\u00e4rkk\u00e4inen, Pasi Porkka, and Hannu Toivonen. 1999. TANE: An efficient algorithm for discovering functional and approximate dependencies. The computer journal 42, 2 (1999), 100--111."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1007568.1007641"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.14778\/1687627.1687765"},{"key":"e_1_2_1_51_1","volume-title":"Levy and Yehoshua Sagiv","author":"Alon","year":"1995","unstructured":"Alon Y. Levy and Yehoshua Sagiv . 1995 . Semantic Query Optimization in Datalog Programs (Extended Abstract). In SIGMOD. 163--173. Alon Y. Levy and Yehoshua Sagiv. 1995. Semantic Query Optimization in Datalog Programs (Extended Abstract). In SIGMOD. 163--173."},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915235"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.14778\/2994509.2994519"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.48550\/ARXIV.2205.02954"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jcss.2013.01.010"},{"key":"e_1_2_1_56_1","unstructured":"J. Minker (Ed.). 1988. Foundations of Deductive Databases and Logic Programming. Morgan Kaufmann Publishers Inc.  J. Minker (Ed.). 1988. Foundations of Deductive Databases and Logic Programming. Morgan Kaufmann Publishers Inc."},{"key":"e_1_2_1_57_1","volume-title":"International Conference on Database Theory. Springer, 189--203","author":"Novelli Noel","year":"2001","unstructured":"Noel Novelli and Rosine Cicchetti . 2001 . Fun: An efficient algorithm for mining functional and embedded dependencies . In International Conference on Database Theory. Springer, 189--203 . Noel Novelli and Rosine Cicchetti. 2001. Fun: An efficient algorithm for mining functional and embedded dependencies. In International Conference on Database Theory. Springer, 189--203."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915203"},{"key":"e_1_2_1_59_1","volume-title":"Technologie und Web (BTW 2017)","author":"Papenbrock Thorsten","year":"2017","unstructured":"Thorsten Papenbrock and Felix Naumann . 2017. A hybrid approach for efficient unique column combination discovery. Datenbanksysteme f\u00fcr Business , Technologie und Web (BTW 2017) ( 2017 ). Thorsten Papenbrock and Felix Naumann. 2017. A hybrid approach for efficient unique column combination discovery. Datenbanksysteme f\u00fcr Business, Technologie und Web (BTW 2017) (2017)."},{"key":"e_1_2_1_60_1","unstructured":"Glenn Norman Paulley. 2001. Exploiting functional dependence in query optimization. Citeseer.  Glenn Norman Paulley. 2001. Exploiting functional dependence in query optimization. Citeseer."},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/141484.130294"},{"key":"e_1_2_1_62_1","volume-title":"Database management systems","author":"Ramakrishnan Raghu","unstructured":"Raghu Ramakrishnan and Johannes Gehrke . 2000. Database management systems . McGraw-Hill . Raghu Ramakrishnan and Johannes Gehrke. 2000. Database management systems. McGraw-Hill."},{"key":"e_1_2_1_63_1","doi-asserted-by":"crossref","unstructured":"Sreekumar T. Shenoy and Z. Meral Ozsoyoglu. 1987. A System for Semantic Query Optimization. In SIGMOD. 181--195.  Sreekumar T. Shenoy and Z. Meral Ozsoyoglu. 1987. A System for Semantic Query Optimization. In SIGMOD. 181--195.","DOI":"10.1145\/38714.38736"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3380568"},{"key":"e_1_2_1_65_1","volume-title":"ICSE '20: 42nd International Conference on Software Engineering. ACM, 1098--1109","author":"Yang Junwen","year":"2020","unstructured":"Junwen Yang , Utsav Sethi , Cong Yan , Alvin Cheung , and Shan Lu . 2020 . Managing data constraints in database-backed web applications . In ICSE '20: 42nd International Conference on Software Engineering. ACM, 1098--1109 . Junwen Yang, Utsav Sethi, Cong Yan, Alvin Cheung, and Shan Lu. 2020. Managing data constraints in database-backed web applications. In ICSE '20: 42nd International Conference on Software Engineering. ACM, 1098--1109."},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180194"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.5555\/1341681.1341690"},{"key":"e_1_2_1_68_1","volume-title":"2016 IEEE High Performance Extreme Computing Conference (HPEC). 1--6.","author":"She Zuohao","unstructured":"Zuohao She , S. Ravishankar , and J. Duggan . 2016. BigDAWG polystore query optimization through semantic equivalences . In 2016 IEEE High Performance Extreme Computing Conference (HPEC). 1--6. Zuohao She, S. Ravishankar, and J. Duggan. 2016. BigDAWG polystore query optimization through semantic equivalences. In 2016 IEEE High Performance Extreme Computing Conference (HPEC). 1--6."}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3583140.3583141","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,4,20]],"date-time":"2023-04-20T16:54:59Z","timestamp":1682009699000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3583140.3583141"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,2]]},"references-count":68,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2023,2]]}},"alternative-id":["10.14778\/3583140.3583141"],"URL":"https:\/\/doi.org\/10.14778\/3583140.3583141","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2023,2]]},"assertion":[{"value":"2023-04-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}