SlideShare a Scribd company logo
1 of 29
Minimization of SuperSQL Execution Time by Query DecompositionToyama LaboratoryMidterm PresentationRia Mae Borromeo25 December 2010
Introduction (1) an extension of SQL that provides the capability of generating various kinds of application data directly as a result of a query  2
3
Introduction (2) GENERATE HTML { { imagefile(path="C:ebpage", "prc_logoback.gif"), imagefile(path="C:ebpage", "main_top02.gif") @{valign=middle, align=center} } @{bgcolor="#296793", width="600"}! ""@{border-width=0, height=20}! "August 2010 Physician Licensure Exam"@{font-size=20, align="center"}! { {"List of Exams"@{align="center", font-size=14}! [link(t.t_name@{font-size=12, width=150}, file="",  att="")@{border-width=0}]! }@{valign=top}, {"List of Passers"@{align="center", font-size=14}! [e.e_name@{font-size=10, border-width=0}]! }@{width=330, align=left, valign=top}, {"List of Schools"@{align="center", font-size=14}! [s.s_name@{font-size=10, border-width=0}]! }@{width=330, align=left, valign=top} }@{align="center"} } FROM examinee e, school s, examtype t 4 Remove decorations
Introduction (3) GENERATE HTML {  {"List of Exams"![t.t_name]!}, {"List of Passers"![e.e_name]!}, {"List of Schools"![s.s_name]!} }  FROM examtype t, examinee e,    school s 5 SQL Query SELECT DISTINCT t.t_name,   e.e_name, s.s_name,  FROMexamtype t, examinee e,    school s
Problem Illustration Expected Output SELECT DISTINCT t.t_name,   e.e_name, s.s_name,  FROMexamtype t, examinee e,    school s x x 20 + 250 + 50 = 320 tuples … Intermediate Table (250,000) 6
Proposal (1) GENERATE HTML {  {"List of Exams"![t.t_name]!}, {"List of Passers"![e.e_name]!}, {"List of Schools"![s.s_name]!} }  FROM examtype t, examinee e,    school s SELECT DISTINCT t.t_name,   e.e_name, s.s_name,  FROMexamtype t, examinee e,    school s SELECT  t_name FROM examtype SELECT e_name FROM examinee SELECT s_name FROM school Expected Output … … …
Proposal (2) 3 Parts Detection of divisible queries Division of Queries Creation of SQL queries Execution of SQL queries Combination of query results 8
SuperSQL query ,[object Object]
Page decoration and query attributes are separatedstart Parse Query Parse Query Make Schema Make Schema Make SQL Statement Original Process Data Construction Execute SQL Statement Make Tree Structure Generate Code Application Data end 9
Schema A tree-structured representation of the layout of the attributes 10 [ [t.t_name], [e.e_name], [s.s_name] ]
SuperSQL query ,[object Object]
Page decoration and query attributes are separated
Make Tree Structure
The schema and the tuples from the database are combined into a tree-structure
Generate Code
Using the tree structure, code for application data is generatedstart Parse Query Parse Query Make Schema Make Schema Make SQL Statement Make SQL Statement Original Process Data Construction Execute SQL Statement Execute SQL Statement Make Tree Structure Make Tree Structure Generate Code Generate Code Application Data end 11
start SuperSQL query Parse Query Make Schema Proposed Process Check Divisibility Make SQL Statements Check Divisibility Make SQL Statement Y N Execute SQL Statement Execute SQL Statements Generate Code Make Tree Structure Combine  results into a tree structure Application Data end 12
Check Divisibility Algorithm 13 1. Get the attributes from the schema GENERATE HTML {  {"List of Exams"![t.t_name]!}, {"List of Passers"![e.e_name]!}, {"List of Schools"![s.s_name]!} }  FROM examtype t, examinee e,    school s Schema [ [t.t_name], [e.e_name], [s.s_name] ]
Check Divisibility Algorithm 14 2. Make a graph to identify relationships t.t_name s.s_name e.e_name Vertices : attributes Edges: If two attributes are from the same table If two attributes are equated in a where condition If two attributes are grouped in the schema
Check Divisibility Algorithm 15 3. Find connected components using Depth-First Search t.t_name s.s_name e.e_name Connected Component - a subgraph that contains a path between all pairs of vertices in the subgraph Depth-First Search - A search algorithm that extends the current path as far as possible before backtracking to the last choice point and trying the next alternative path. 
Example 2 16 1. Get the attributes from the schema GENERATE HTML [  f.title! {{ { "Director" ! f.dir } ! { "Running" ! f.length } }, { "Starring" ,  [ r.name %  {r.name ,  { "Birthday" , r.bday }! "Biography" ! r.bio } } ]! } }! f.story]! FROM    film f, actor r, act a WHERE   a.film = f.id AND a.act = r.id [[f.title, f.dir, f.length, [actor.name, actor.name, actor.birthday, actor.biography], f.story]]
Example 2 17 2. Make a graph to identify relationships f.story f.title f.len r.bday r.name f.dir a.act r.bio f.id r.id a.film
Example 2 18 3. Find connected components by Depth-First Search f.story f.title f.len f.len f.title r.bday r.bday r.name r.name f.dir f.dir a.act a.act r.bio r.bio f.id f.id r.id r.id a.film a.film
start SuperSQL query Parse Query Make Schema Proposed Process Check Divisibility Make SQL Statements Check Divisibility Make SQL Statements Make SQL Statement Y N Execute SQL Statement Execute SQL Statements Execute SQL Statements Generate Code Make Tree Structure Combine  results into a tree structure Combine  results into a tree structure Application Data end 19
Current Status 3 Parts Detection of divisible queries Division of Queries Creation of SQL queries Execution of SQL queries Combination of query results Trivial case: columns are independent of each other Others 20
Experiments (1) Intel (R) Core (TM)2 Duo CPU 2.09 GHz 1.97 GB RAM Microsoft Windows XP Professional  2002 SP3 Java 6 Update 22 Standard Edition 21
Experiments (2) 22 ,[object Object],[object Object]
Experiments (4) 24 No. of Attributes

More Related Content

Similar to 20101217 mtg

닷넷 개발자를 위한 패턴이야기
닷넷 개발자를 위한 패턴이야기닷넷 개발자를 위한 패턴이야기
닷넷 개발자를 위한 패턴이야기YoungSu Son
 
SQL Training in Ambala ! Batra Computer Centre
SQL Training in Ambala ! Batra Computer CentreSQL Training in Ambala ! Batra Computer Centre
SQL Training in Ambala ! Batra Computer Centrejatin batra
 
SQLite in Adobe AIR
SQLite in Adobe AIRSQLite in Adobe AIR
SQLite in Adobe AIRPeter Elst
 
Final Project Presentation
Final Project PresentationFinal Project Presentation
Final Project Presentationzroserie
 
SQL Server - Introduction to TSQL
SQL Server - Introduction to TSQLSQL Server - Introduction to TSQL
SQL Server - Introduction to TSQLPeter Gfader
 
ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael PizzoADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael PizzoHasnain Iqbal
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)Carles Farré
 
Playing with d3.js
Playing with d3.jsPlaying with d3.js
Playing with d3.jsmangoice
 
Boston Computing Review - Java Server Pages
Boston Computing Review - Java Server PagesBoston Computing Review - Java Server Pages
Boston Computing Review - Java Server PagesJohn Brunswick
 
XML-Free Programming
XML-Free ProgrammingXML-Free Programming
XML-Free ProgrammingStephen Chin
 
The vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLThe vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLLukas Eder
 
Extending MySQL Enterprise Monitor
Extending MySQL Enterprise MonitorExtending MySQL Enterprise Monitor
Extending MySQL Enterprise MonitorMark Leith
 
Micro-ORM Introduction - Don't overcomplicate
Micro-ORM Introduction - Don't overcomplicateMicro-ORM Introduction - Don't overcomplicate
Micro-ORM Introduction - Don't overcomplicateKiev ALT.NET
 

Similar to 20101217 mtg (20)

닷넷 개발자를 위한 패턴이야기
닷넷 개발자를 위한 패턴이야기닷넷 개발자를 위한 패턴이야기
닷넷 개발자를 위한 패턴이야기
 
SQL Training in Ambala ! Batra Computer Centre
SQL Training in Ambala ! Batra Computer CentreSQL Training in Ambala ! Batra Computer Centre
SQL Training in Ambala ! Batra Computer Centre
 
Jdbc
JdbcJdbc
Jdbc
 
SQLite in Adobe AIR
SQLite in Adobe AIRSQLite in Adobe AIR
SQLite in Adobe AIR
 
Final Project Presentation
Final Project PresentationFinal Project Presentation
Final Project Presentation
 
SQL Server - Introduction to TSQL
SQL Server - Introduction to TSQLSQL Server - Introduction to TSQL
SQL Server - Introduction to TSQL
 
ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael PizzoADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
 
Playing with d3.js
Playing with d3.jsPlaying with d3.js
Playing with d3.js
 
I Feel Pretty
I Feel PrettyI Feel Pretty
I Feel Pretty
 
Boston Computing Review - Java Server Pages
Boston Computing Review - Java Server PagesBoston Computing Review - Java Server Pages
Boston Computing Review - Java Server Pages
 
XML-Free Programming
XML-Free ProgrammingXML-Free Programming
XML-Free Programming
 
The vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLThe vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQL
 
Coding Ajax
Coding AjaxCoding Ajax
Coding Ajax
 
Extending MySQL Enterprise Monitor
Extending MySQL Enterprise MonitorExtending MySQL Enterprise Monitor
Extending MySQL Enterprise Monitor
 
Micro-ORM Introduction - Don't overcomplicate
Micro-ORM Introduction - Don't overcomplicateMicro-ORM Introduction - Don't overcomplicate
Micro-ORM Introduction - Don't overcomplicate
 

Recently uploaded

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

20101217 mtg

  • 1. Minimization of SuperSQL Execution Time by Query DecompositionToyama LaboratoryMidterm PresentationRia Mae Borromeo25 December 2010
  • 2. Introduction (1) an extension of SQL that provides the capability of generating various kinds of application data directly as a result of a query 2
  • 3. 3
  • 4. Introduction (2) GENERATE HTML { { imagefile(path="C:ebpage", "prc_logoback.gif"), imagefile(path="C:ebpage", "main_top02.gif") @{valign=middle, align=center} } @{bgcolor="#296793", width="600"}! ""@{border-width=0, height=20}! "August 2010 Physician Licensure Exam"@{font-size=20, align="center"}! { {"List of Exams"@{align="center", font-size=14}! [link(t.t_name@{font-size=12, width=150}, file="", att="")@{border-width=0}]! }@{valign=top}, {"List of Passers"@{align="center", font-size=14}! [e.e_name@{font-size=10, border-width=0}]! }@{width=330, align=left, valign=top}, {"List of Schools"@{align="center", font-size=14}! [s.s_name@{font-size=10, border-width=0}]! }@{width=330, align=left, valign=top} }@{align="center"} } FROM examinee e, school s, examtype t 4 Remove decorations
  • 5. Introduction (3) GENERATE HTML { {"List of Exams"![t.t_name]!}, {"List of Passers"![e.e_name]!}, {"List of Schools"![s.s_name]!} } FROM examtype t, examinee e, school s 5 SQL Query SELECT DISTINCT t.t_name, e.e_name, s.s_name, FROMexamtype t, examinee e, school s
  • 6. Problem Illustration Expected Output SELECT DISTINCT t.t_name, e.e_name, s.s_name, FROMexamtype t, examinee e, school s x x 20 + 250 + 50 = 320 tuples … Intermediate Table (250,000) 6
  • 7. Proposal (1) GENERATE HTML { {"List of Exams"![t.t_name]!}, {"List of Passers"![e.e_name]!}, {"List of Schools"![s.s_name]!} } FROM examtype t, examinee e, school s SELECT DISTINCT t.t_name, e.e_name, s.s_name, FROMexamtype t, examinee e, school s SELECT t_name FROM examtype SELECT e_name FROM examinee SELECT s_name FROM school Expected Output … … …
  • 8. Proposal (2) 3 Parts Detection of divisible queries Division of Queries Creation of SQL queries Execution of SQL queries Combination of query results 8
  • 9.
  • 10. Page decoration and query attributes are separatedstart Parse Query Parse Query Make Schema Make Schema Make SQL Statement Original Process Data Construction Execute SQL Statement Make Tree Structure Generate Code Application Data end 9
  • 11. Schema A tree-structured representation of the layout of the attributes 10 [ [t.t_name], [e.e_name], [s.s_name] ]
  • 12.
  • 13. Page decoration and query attributes are separated
  • 15. The schema and the tuples from the database are combined into a tree-structure
  • 17. Using the tree structure, code for application data is generatedstart Parse Query Parse Query Make Schema Make Schema Make SQL Statement Make SQL Statement Original Process Data Construction Execute SQL Statement Execute SQL Statement Make Tree Structure Make Tree Structure Generate Code Generate Code Application Data end 11
  • 18. start SuperSQL query Parse Query Make Schema Proposed Process Check Divisibility Make SQL Statements Check Divisibility Make SQL Statement Y N Execute SQL Statement Execute SQL Statements Generate Code Make Tree Structure Combine results into a tree structure Application Data end 12
  • 19. Check Divisibility Algorithm 13 1. Get the attributes from the schema GENERATE HTML { {"List of Exams"![t.t_name]!}, {"List of Passers"![e.e_name]!}, {"List of Schools"![s.s_name]!} } FROM examtype t, examinee e, school s Schema [ [t.t_name], [e.e_name], [s.s_name] ]
  • 20. Check Divisibility Algorithm 14 2. Make a graph to identify relationships t.t_name s.s_name e.e_name Vertices : attributes Edges: If two attributes are from the same table If two attributes are equated in a where condition If two attributes are grouped in the schema
  • 21. Check Divisibility Algorithm 15 3. Find connected components using Depth-First Search t.t_name s.s_name e.e_name Connected Component - a subgraph that contains a path between all pairs of vertices in the subgraph Depth-First Search - A search algorithm that extends the current path as far as possible before backtracking to the last choice point and trying the next alternative path. 
  • 22. Example 2 16 1. Get the attributes from the schema GENERATE HTML [ f.title! {{ { "Director" ! f.dir } ! { "Running" ! f.length } }, { "Starring" , [ r.name % {r.name , { "Birthday" , r.bday }! "Biography" ! r.bio } } ]! } }! f.story]! FROM film f, actor r, act a WHERE a.film = f.id AND a.act = r.id [[f.title, f.dir, f.length, [actor.name, actor.name, actor.birthday, actor.biography], f.story]]
  • 23. Example 2 17 2. Make a graph to identify relationships f.story f.title f.len r.bday r.name f.dir a.act r.bio f.id r.id a.film
  • 24. Example 2 18 3. Find connected components by Depth-First Search f.story f.title f.len f.len f.title r.bday r.bday r.name r.name f.dir f.dir a.act a.act r.bio r.bio f.id f.id r.id r.id a.film a.film
  • 25. start SuperSQL query Parse Query Make Schema Proposed Process Check Divisibility Make SQL Statements Check Divisibility Make SQL Statements Make SQL Statement Y N Execute SQL Statement Execute SQL Statements Execute SQL Statements Generate Code Make Tree Structure Combine results into a tree structure Combine results into a tree structure Application Data end 19
  • 26. Current Status 3 Parts Detection of divisible queries Division of Queries Creation of SQL queries Execution of SQL queries Combination of query results Trivial case: columns are independent of each other Others 20
  • 27. Experiments (1) Intel (R) Core (TM)2 Duo CPU 2.09 GHz 1.97 GB RAM Microsoft Windows XP Professional 2002 SP3 Java 6 Update 22 Standard Edition 21
  • 28.
  • 29. Experiments (4) 24 No. of Attributes
  • 30. Summary Implemented an algorithm for checking if SuperSQL queries can be decomposed into several SQL Queries Queries are decomposed into several SQL queries when possible Experiments show that the procedure reduces the execution time of SuperSQL in some query cases 25
  • 31. 26
  • 32. Future Work Continue implementation of the MakeTree function to address other query classes Testing More experiments Statistical Analysis of data 27
  • 33. Comments from Panel Research Suggestions: Use database information For the example, use embedded system (with limited memory) that generates webpages Presentation Suggestion: Take note of the number of decimal points in the data Question: How can you be sure that the output generated by the new one is the same as the original? It can be verified by checking the tree structure 28
  • 34. Thank you for listening. 