Home
Search results “Oracle parallel select”
Why Use Parallel Processing?
 
03:20
This video compares the use of parallel and serial processing for the same SQL query. Copyright © 2012 Oracle and/or its affiliates. Oracle® is a registered trademark of Oracle and/or its affiliates. All rights reserved. Oracle disclaims any warranties or representations as to the accuracy or completeness of this recording, demonstration, and/or written materials (the "Materials"). The Materials are provided "as is" without any warranty of any kind, either express or implied, including without limitation warranties of merchantability, fitness for a particular purpose, and non-infringement.
Oracle Hints Tutorial for improving performance
 
10:35
Oracle Hints Tutorial for improving performance APPEND PARALLEL JOIN INDEX NO_INDEX SELECT /*+ FIRST_ROWS(10) */ * FROM emp WHERE deptno = 10; SELECT /*+ ALL_ROWS */ * FROM emp WHERE deptno = 10; SELECT /*+ NO_INDEX(emp emp_dept_idx) */ * FROM emp, dept WHERE emp.deptno = dept.deptno; SELECT /*+ INDEX(e,emp_dept_idx) */ * FROM emp e WHERE e.deptno = 10; -- SELECT /*+ INDEX(scott.emp,emp_dept_idx) */ * FROM scott.emp; SELECT /*+ AND_EQUAL(e,emp_dept_idx) */ * FROM emp e; SELECT /*+ INDEX_JOIN(e,emp_dept_idx) */ * FROM emp e; SELECT /*+ PARALLEL_INDEX(e,emp_dept_idx , 8) */ * FROM emp e; SELECT /*+ LEADING (dept) */ * FROM emp, dept WHERE emp.deptno = dept.deptno; SELECT /*+ PARALLEL(8) CACHE (e) FULL (e) */ * FROM emp e ; SELECT /*+ PARALLEL FULL (e) */ * FROM emp e ; SELECT /*+ PARALLEL USE_MERGE (emp dept) */ * FROM emp, dept WHERE emp.deptno = dept.deptno; -- SORT Merge Join SELECT /*+ PARALLEL USE_HASH (emp dept) */ * FROM emp, dept WHERE emp.deptno = dept.deptno; -- Hash Join SELECT /*+ PARALLEL */ * FROM emp e ; INSERT /*+ APPEND */ INTO mytmp select /*+ CACHE (e) */ *from emp e; commit;
Views: 10202 TechLake
Oracle Parallel Execution Plans Deep Dive
 
44:24
A presentation about understanding the essentials of Oracle Parallel Execution and how to read the corresponding execution plans
Views: 3293 Randolf Geist
Oracle Hints Tutorial for improving performance with examples
 
11:16
Oracle Hints Tutorial for improving performance with examples Oracle Hints Oracle Tutorial for beginners SQL Tutorial for beginners SQL Hints SQL Performance tuning
Views: 4704 TechLake
Oracle 11g Hints Overview
 
42:56
In this Video tutorial we will discuss about Optimizer hints in Oracle. What is optimizer hint, when & why its needed. Different Category of hints. Description of mostly used hints. Demonstrate how query plan can change with the influence of hint.
Views: 54148 Anindya Das
SQL: Optimizer Hints Part-1
 
05:56
In this tutorial, you'll learn...what are optimizer hints and how to use it.. SQL (pronounced "ess-que-el") stands for Structured Query Language. SQL is used to communicate with a database. According to ANSI (American National Standards Institute), it is the standard language for relational database management systems.
Views: 20980 radhikaravikumar
Using Parallel and Cardinal Hint
 
07:44
This is a demo on using Parallel and Cardinal Hint to tune queries in ILM.
Views: 1340 Informatica Support
Getting Started with PL/SQL Table Functions: Pipelined Table Functions
 
14:49
Pipelined table functions are table functions in which rows are returned or "piped" back to the calling query before the function has completed, avoiding the blocking behavior of normal PL/SQL functions and reduce PGA consumption. This video is part of the Oracle Dev Gym class "Getting Started with Table Functions". You can watch it independent of the class, but then you miss out on the tutorials and quizzes! So visit https://devgym.oracle.com/pls/apex/dg/class/getting-started-with-pl-sql-table-functions.html and register for the class! ======================================== Practically Perfect PL/SQL with Steven Feuerstein Copyright © 2018 Oracle and/or its affiliates. Oracle is a registered trademark of Oracle and/or its affiliates. All rights reserved. Other names may be registered trademarks of their respective owners. Oracle disclaims any warranties or representations as to the accuracy or completeness of this recording, demonstration, and/or written materials (the “Materials”). The Materials are provided “as is” without any warranty of any kind, either express or implied, including without limitation warranties or merchantability, fitness for a particular purpose, and non-infringement.
Using Parallel GROUP BY
 
05:33
This video shows you the behavior of the GROUP BY clause when run in serial and in parallel. Copyright © 2012 Oracle and/or its affiliates. Oracle® is a registered trademark of Oracle and/or its affiliates. All rights reserved. Oracle disclaims any warranties or representations as to the accuracy or completeness of this recording, demonstration, and/or written materials (the "Materials"). The Materials are provided "as is" without any warranty of any kind, either express or implied, including without limitation warranties of merchantability, fitness for a particular purpose, and non-infringement.
Oracle Database - Wait Event - Sequential Read Vs Scattered Read
 
06:26
In this video you will learn about what is Sequential read and how is it different from Scattered read in an Oracle Database. The entire course can be purchased at https://www.udemy.com/oracle-database-troubleshooting-and-tuning Use Coupon Code - YOUTUBETT Our Upcoming Online Course Schedule is available in the url below https://docs.google.com/spreadsheets/d/1qKpKf32Zn_SSvbeDblv2UCjvtHIS1ad2_VXHh2m08yY/edit#gid=0 Reach us at [email protected]
Views: 2379 Ramkumar Swaminathan
Hierarchical Queries (Oracle)
 
03:33
Hierarchical Queries in Oracle, Using CONNECT BY PRIOR and START WITH clause. Visual Example using a practical scenario.
Views: 6202 CodeSmith 001
Parallel Query Has Arrived!
 
45:06
Views: 903 PGCon
DML Processing in an Oracle Database -  DBArch Video 8
 
09:07
This video explains the steps involved in processing a DML statement in an Oracle Database Server. Our Upcoming Online Course Schedule is available in the url below https://docs.google.com/spreadsheets/d/1qKpKf32Zn_SSvbeDblv2UCjvtHIS1ad2_VXHh2m08yY/edit#gid=0 Reach us at [email protected]
Views: 62112 Ramkumar Swaminathan
Efficient Function Calls From SQL (Part 5) : Pipelined Table Functions
 
03:48
The fifth part of a mini-series of videos showing how you can improve the performance of function calls from SQL. In this episode, we compare the performance of conventions table functions with pipelined table functions. For more information see: https://oracle-base.com/articles/misc/pipelined-table-functions https://oracle-base.com/articles/misc/efficient-function-calls-from-sql Website: https://oracle-base.com Blog: https://oracle-base.com/blog Twitter: https://twitter.com/oraclebase Cameo by Mike Dietrich : Blog: https://blogs.oracle.com/UPGRADE Twitter: https://twitter.com/MikeDietrichDE Cameo appearances are for fun, not an endorsement of the content of this video.
Views: 12533 ORACLE-BASE.com
What is Parallel Calculation?
 
04:46
interRel presents Look Smarter Than You Are with Oracle Essbase: What is Parallel Calculation? Ever wonder what a parallel calculation is? Edward Roske, Oracle ACE Director and CEO of interRel gives you the scoop on what it is and how to leverage it to improve calculation performance! To see more of our videos, go to http://epm.bi/videos
Views: 1908 interRel Consulting
Analyzing and Troubleshooting Oracle Parallel Execution
 
01:58:45
Presented by Randolf Geist 8th May 2013 Oracle parallel execution, a feature of the Enterprise Edition, allows you to automatically distribute the processing of a SQL statement execution among multiple worker processes. This requires additional effort when analysing and troubleshooting such parallel executions, since it adds complexity that is simply not there with normal serial execution where only a single process is involved. In this webinar, Randolf Geist, provides an overview of what these additional challenges are and how these can be approached. For our complete archive, and to sign up for upcoming webinars please go to http://www.red-gate.com/oracle-webinars
Views: 3488 Redgate Videos
Demonstrating Oracle DB Elapsed Time and Wall Time With Parallel Query
 
03:37
Is it really true? In my recent postings I wrote that when using parallel query a SQL statement's wall time is roughly equal to its elapsed time divided by the number of parallel query slaves. To check I ran an experiment and posted the results. The results are both obvious and illuminating. If you don't want to read but just sit on the couch and watch a video, you're in luck! I created a special video clip demonstrating what I wrote about. The main video clip is from my OraPub Online Institute video seminar, Tuning Oracle Using An AWR Report - Part 1. (NOT Part 2 as the video shows) From my blog posting: http://blog.orapub.com/20140907/watch-oracle-database-elapsed-time-and-wall-time-with-parallel-query.html For more information on OraPub r for more great education, go to www.orapub.com
Views: 1237 OraPub, Inc.
PL/SQL tutorial 74: PL/SQL Bulk Collect Clause with FETCH-INTO statement of an explicit cursor
 
09:49
RebellionRider.com presents a PL/SQL tutorial on how to use PL/SQL Bulk Collect with Fetch-Into statement of an explicit cursor in Oracle Database. Watch and learn how to enhance query performance with Bulk Collect in Oracle Database by Manish Sharma. ------------------------------------------------------------------------ ►►►LINKS◄◄◄ Blog: http://bit.ly/bulk-collect-3 Previous Tutorial ► Introduction to Bulk Collect: https://youtu.be/HPVzFBluM_Q ► Explicit Cursor: https://youtu.be/3q7dW_d2KVc ► Simple Loop: https://youtu.be/AFx6QYcY1CU ► The script on GIT: https://github.com/RebellionRider/pl-sql-tut-74.git ------------------------------------------------------------------------- ►Make sure you SUBSCRIBE and be the 1st one to see my videos! ------------------------------------------------------------------------- ►►►Find me on Social Media◄◄◄ Follow What I am up to as it happens on https://twitter.com/rebellionrider http://instagram.com/rebellionrider https://plus.google.com/+Rebellionrider http://in.linkedin.com/in/mannbhardwaj/ ___Facebook Official Page of Manish Sharma___ https://www.facebook.com/TheRebellionRider/ ___Facebook Official Page of RebellionRider.com___ https://www.facebook.com/RebellionRider.official/ For E-mail address please check the About section Please please LIKE and SHARE my videos it makes me happy. Thanks for liking, commenting, sharing and watching more of our videos This is Manish from RebellionRider.com ♥ I LOVE ALL MY VIEWERS AND SUBSCRIBERS
Views: 11427 Manish Sharma
Oracle Performance Tuning - Read and interpret Explain Plan
 
17:43
Connect with me or follow me at https://www.linkedin.com/in/durga0gadiraju https://www.facebook.com/itversity https://github.com/dgadiraju https://www.youtube.com/c/TechnologyMentor https://twitter.com/itversity
Views: 44582 itversity
[Oracle SQL Performance Tuning: 4/4] Basic Hints and their Usage
 
30:52
This presentation explains how to use basic hints of Oracle. The series of SQL tuning videos presents performance tuning tips for developers. For presentation used in this video, please visit: https://drive.google.com/drive/folders/0B6EDqGZwjejmWng5VWM3ZEtaNzA?usp=sharing
Views: 11376 anilkumar ghorakavi
Using the qb_name Hint in Oracle Database
 
02:10
Oracle ACE Ric Van Dyke shares a tip on using the qb_name hint in Oracle Database, and on how naming query blocks can make debugging a lot easier.
Views: 142 ArchBeat Archive
Thinking in Parallel
 
01:02:25
The Java 8 Streams library makes it easy to run code in parallel. A common error is code that works when run sequentially but that misbehaves when run in parallel. This is often caused by programmers who are stuck in a mode of imperative, left-to-right thinking. This leads to an iterative style in which data is mutated and where the next result depends on the result of the previous computation, creating barriers to parallel computation. This presentation covers an alternative programming technique called array programming, where operations are applied on data aggregates instead of individual elements. It also includes examples and demonstrations that illustrate these techniques and how they lead to easier-to-understand, parallel-ready code.
Views: 4245 Oracle Developers
Explaining the Explain Plan: Interpreting Execution Plans for SQL Statements
 
01:04:02
Presenter: Maria Colgan, Oracle Corporation The execution plan for a SQL statement can often seem complicated and hard to understand. Determining if the execution plan you are looking at is the best plan you could get or attempting to improve a poorly performing execution plan can be a daunting task, even for the most experienced DBA or developer. This session examines the different aspects of an execution plan, from selectivity to parallel execution, and explains what information you should be gleaming from the plan and how it affects the execution. It offers insight into what caused the Optimizer to make the decision it did as well as a set of corrective measures that can be used to improve each aspect of the plan.
Views: 6284 ODTUG
oracle parallelism
 
17:03
Views: 180 Fatma Aksu
Optimizing SQL Performance
 
51:42
Held on July 12 2018 In July's session we mainly looked at performance. Highlights include: 1:30 How does the database process subqueries? 5:20 Performance: comparing insert ... select to create tmp table, insert select from tmp; DDL in PL/SQL; dynamic SQL problems 12:45 18c private temporary tables; tables specific to a session; DDL you can rollback across! 21:00 Improving update performance: things to watch for; insert vs. update; "join-update" - create a view instead; create table as select "update" 34:05 Analytic function performance: first_value non-determinism; min keep vs first_value; computing function in a subquery; indexes for analytic functions AskTOM Office Hours offers free, monthly training and tips on how to make the most of Oracle Database, from Oracle product managers, developers and evangelists. https://asktom.oracle.com/ Oracle Developers portal: https://developer.oracle.com/ Sign up for an Oracle Cloud trial: https://cloud.oracle.com/en_US/tryit music: bensound.com
Views: 734 Oracle Developers
New in Postgres 9.6: Parallel Queries
 
03:11
In this episode, we'll be looking at a new feature in Postgres 9.6, parallel queries. To learn more and for full transcript visit us at https://www.pgcasts.com This episode is sponsored by Hashrocket a consultancy specializing in PostgreSQL. Visit us at https://hashrocket.com
Views: 3694 PG Casts
Parallel Execution In an Oracle RAC environment
 
03:14
In an Oracle RAC environment, a SQL statement executed in parallel can run across all of the nodes in the cluster. For more information please visit https://www.koenig-solutions.com/oracle-database-12c-rac-administration-training.aspx
Views: 56 Koenig Solutions
Parallel Query In PostgreSQL  Robert Haas
 
49:19
I and others have been working on bringing parallel query for PostgreSQL for several years now, but PostgreSQL 9.6 is the first release expected to include a user-visible feature. And it's pretty cool. In this talk, I'll give an overview of the development of this feature, where we are now, and what the future might hold. I will discuss the overall architecture of parallelism in PostgreSQL, give examples of queries that can be accelerated by the features expected to be in PostgreSQL 9.6, and talk about what's not done yet. http://www.pgconf.us/2016/event/147/parallel-query-in-postgresql/
Views: 1534 Postgres Conference
eXtrem Parallel Processing for Oracle
 
05:43
eXtrem Parallel Processing for Oracle
Views: 195 Petr Jezek
eXtreme Parallel Processing for Oracle
 
00:16
Is your current processing task complex and depending on CPU? Does it take too much time processing your PL/SQL eventhough you have strong HW? Don't have time to rewrite PL/SQL sources to optimize them? If your answer is yes, then our product eXtreme Parallel Processing for Oracle is exactly for you
Views: 55 Petr Jezek
Tutorial: Algorithmic Aspects of Parallel Query Processing
 
01:37:23
Tutorial: Algorithmic Aspects of Parallel Query Processing
Views: 283 Sigmod 2018
How to Create Database Link in Oracle. /* Step By Step /*
 
17:21
Today I am showing you. How to create Database link (DB Link) in Oracle. What is Database Link ( DB Link ) ? A database link is a schema object in one database that enables you to access objects on another database. I have 2 databases 1. paragdb 2. orcl In Paragdb database 1. Create listener 2. Service Name 3. In Orcl Database 1. Create Listener 2. Service Name 3. Create new User 4.Grant connect,resource,create database link to username; 5. open user 6. create database link 1. create database link link1 connect to scott identified by tiger using 'connect_primary''; 7.select * from [email protected]; 8. select * from [email protected]; 9. views 1. select * from user_db_links; 2. select * from all_db_links; 10. conn sys as sysdba 11. grant public database link to username; 12. select * from dba_db_links; 13. conn username/pass 14. create public database link plink connect to scott identified by tiger using 'connect_primary'; 15. drop database link. drop database link link1; To follow this steps you will also create oracle database link. It is very easy to understand.
Views: 9636 Parag Mahalle
Sql Server Degree of Parallelism and Parallel Query Plans
 
01:01
Hey DBA guys! Ever wondered what goes behind when SQL Server chooses a parallel query plan or otherwise? Here's a slideshow explaining that! Happy reading! Got some feedback? Mail me at [email protected] ! Enjoy!
Views: 762 SQL Server DBA
Tracing Parallel Execution
 
08:54
This video shows how to trace parallel executions. Copyright © 2012 Oracle and/or its affiliates. Oracle® is a registered trademark of Oracle and/or its affiliates. All rights reserved. Oracle disclaims any warranties or representations as to the accuracy or completeness of this recording, demonstration, and/or written materials (the "Materials"). The Materials are provided "as is" without any warranty of any kind, either express or implied, including without limitation warranties of merchantability, fitness for a particular purpose, and non-infringement.
Robert Haas talks about the importance of Parallel Query development in Postgres
 
02:17
EnterpriseDB Vice President Robert Haas, who is also a Major Contributor to the PostgreSQL Community, talks about the importance of Parallel Query development in Postgres from Postgres Vision 2017. Visit www.EDBPostgres.com for information on EDB Postgres. To attend Postgres Vision 2018, visit www.PostgresVision.com for information.
Views: 266 EnterpriseDB
Real-World Performance - 8 - Set Based Parallel Processing
 
10:39
Check out the entire series on the Oracle Learning Library at http://www.oracle.com/goto/oll/rwp In this video, listen and watch Andrew Holdsworth, Vice President of Oracle Database Real-World Performance at Oracle Corporation, as he demonstrates how set based parallel processing affects performance. Copyright © 2014 Oracle and/or its affiliates. Oracle® is a registered trademark of Oracle and/or its affiliates. All rights reserved. Oracle disclaims any warranties or representations as to the accuracy or completeness of this recording, demonstration, and/or written materials (the "Materials"). The Materials are provided "as is" without any warranty of any kind, either express or implied, including without limitation warranties of merchantability, fitness for a particular purpose, and non-infringement.
SQL: Introduction to Optimizer in Oracle
 
07:34
In this tutorial, you'll know what is the meaning and use of Optimizer in Oracle
Views: 18646 radhikaravikumar
14.416 Sort-Merge Join, Co-Grouping
 
18:31
My book "Patterns in Data Management" is now available both as an ebook or a print book (with color graphics!). See: http://amzn.to/1Ts3rwx This book is not a standard textbook on database techniques. This book was written extending and complementing preexisting educational videos (including this one). Video for my inverted classroom "Database Systems". The complete list of videos, slides, and additional material is (will be) available at http://datenbankenlernen.de Computer Science, Saarland University: Bachelor (in German): http://www.cs.uni-saarland.de/index.p... Master (in English): http://www.cs.uni-saarland.de/index.p... Ph.D./Grad School: http://gradschool.cs.uni-saarland.de/
Why Has an Index Broken My Query?
 
06:02
Sometimes Oracle can give unexpected exceptions. This often happens when working with dates stored as strings. In this video, Chris investigates why adding an index to a varchar storing dates could cause a query to fail. He explains why this happens. Then he shows workaround to avoid this. You can download the scripts in this video from LiveSQL at: https://livesql.oracle.com/apex/livesql/file/content_CVN82PZQWQSUFYMOVKG0VI19T.html ============================ The Magic of SQL with Chris Saxon Copyright © 2015 Oracle and/or its affiliates. Oracle is a registered trademark of Oracle and/or its affiliates. All rights reserved. Other names may be registered trademarks of their respective owners. Oracle disclaims any warranties or representations as to the accuracy or completeness of this recording, demonstration, and/or written materials (the “Materials”). The Materials are provided “as is” without any warranty of any kind, either express or implied, including without limitation warranties or merchantability, fitness for a particular purpose, and non-infringement.
Views: 3099 The Magic of SQL
Parallel SQL
 
42:36
Joel Bernstein from Alfresco broke his Lucene/Solr Revolution presentation into two parts. During the first half he talks about everything that SQL can do with Solr. The second half is an in-depth look at how SQL works. Later in the presentation he talks about Streaming Expressions which solves two problems that the streaming API has. Presented at Lucene/Solr Revolution. Learn more: https://activate-conf.com/
Views: 751 Lucidworks
Oracle "Waiting"
 
04:58
Oracle - Waiting - sur l'album "Tree" (1993)
Views: 295 fidale rebbec
CSE562 Class 20 Parallel Query Operators
 
34:56
Parallel Data Flow, Parallel Joins, Parallel Aggregates
Views: 330 Oliver Kennedy
SQL: Optimizer Hints Part-2
 
05:06
In this tutorial, you'll learn...what are optimizer hints and how to use it.. SQL (pronounced "ess-que-el") stands for Structured Query Language. SQL is used to communicate with a database. According to ANSI (American National Standards Institute), it is the standard language for relational database management systems.
Views: 12097 radhikaravikumar
introduction to sql-Writing Basic SQL SELECT Statements
 
03:03
Course Description – sql1 COURSE DESCRIPTION: The Oracle server extends the data modeling capabilities to support an object relational database model that brings object-oriented programming, complex data types, complex business objects, and full compatibility with the relational world. It includes several features for improved performance and functionality of online transactionprocessing (OLTP) applications, such as better sharing of run-time data structures, larger buffer caches, and deferrable constraints. Data warehouse applications will benefit from enhancements such as parallel execution of insert, update, and delete operations; partitioning; and parallel-aware query optimization. COURSE OBJECTIVES: in this course List the capabilities of SQL SELECT statements Execute a basic SELECT statement Differentiate between SQL statements and iSQL*Plus commands Limit the rows retrieved by a query Sort the rows retrieved by a query WHO SHOULD ATTEND?   COURSE OUTLINE: In this lesson, you should have learned howtheOracleserverusesconstraints to prevent invalid data entry into tables. You also learned how to implement the constraints in DDL statements.   Writing Basic SQL SELECT Statements Restricting and Sorting Data Single-Row Functions Displaying Data from Multiple Tables Aggregating Data Using Group Functions Subqueries Producing Readable Output with iSQL*Plus Manipulating Data Creating and Managing Tables Including Constraints
Views: 216 EasyShiksha TV
Calling PL/SQL Functions From SQL
 
57:06
Isn't it great how you "extend" Oracle SQL by calling your own user-defined PL/SQL functions from within SQL statements? Yes, it really is nice, but there are things you need to know about and take into consideration, from read-consistency to optimizer nuances. Chris Saxon gave an overview of the key issues from performance to correctness. Highlights include: 03:30 - performance comparison of plain SQL vs. calling PL/SQL function 04:30 - SQL to PL/SQL context switches; what they are and how they affect performance 06:10 - Techniques to make calling PL/SQL from SQL faster: scalar subquery caching, deterministic keyword, function result cache, pragma UDF 14:00 - Performance comparison of these options 21:20 - Performance comparison when calling non-deterministic functions 35:30 - The danger when you have SQL that calls PL/SQL that calls SQL 41:30 - Calling PL/SQL in SQL dos and don'ts AskTOM Office Hours offers free, monthly training and tips on how to make the most of Oracle Database, from Oracle product managers, developers and evangelists. https://asktom.oracle.com/ Oracle Developers portal: https://developer.oracle.com/ Sign up for an Oracle Cloud trial: https://cloud.oracle.com/en_US/tryit
Views: 645 Oracle Developers
What Is Oracle Elapsed Time, Wall Time And It's Relationship With Parallelism
 
01:12
Blog link: http://blog.orapub.com/20140818/What-Is-Oracle-Database-Elapsed-Time-And-Wall-Time-With-A-Parallelism-Twist.html In this post I'm focusing on SQL elapsed time, adding parallelism into the mix and then revisiting wall time. What initially seems simple can some take very interesting twists! If you are into tuning Oracle Database systems, you care about time. And if you care about time, then you need to understand the most important time parameters: what they are, their differences, how they relate to each other and how to use them in your performance tuning work. This is video is clip from the OraPub Online Institute seminar, Tuning Oracle Using an AWR Report.
Views: 700 OraPub, Inc.
Export scheduled SQL results to Excel template
 
03:01
With AutoSQL (https://www.autosql.net/) you can write your query results directly to Excel and use a template to pre-define formatting.
Views: 2267 AutoSQL