Quá Trình Xử Lý Câu Lệnh SQL Trong Oracle DB
Có thể bạn quan tâm
Bài đăng Mới hơn Bài đăng Cũ hơn Trang chủ
1. Phân tích câu lệnh (gọi là parsing):Đây là bước đầu tiên sau khi câu lệnh SQL được gửi từ ứng dụng đã kết nối đến DB (hoặc user đã tạo session thành công đến DB). Để thực hiện được điều này nó cần mở hoặc tạo 1 con trỏ (cursor) để giữ session nằm trong Private SQL Area (thuộc Share Pool) để lưu những câu lệnh SQK đã phân tích và những thông tin cần thiết trong quá trình xử lý khác. Con trỏ và private SQL area nằm trong PGA (Program Global Area).Bước phân tích này gồm các bước nhỏ sau:- Kiểm tra cú pháp câu lệnh SQL: Đảm bảo câu lệnh viết đúng, ví dụ câu SELECT * FROMM binhtv.test; là sai vì thừa chữ M (báo lỗi ERROR at line 1:ORA-00923: FROM keyword not found where expected)- Kiểm tra về ngữ nghĩa (semantic) câu lệnh: Để xem bảng,view hay cột có không, ví dụ câu SELECT * FROM binhtv.test; lỗi (ERROR at line 1: ORA-00942: table or view does not exist) do bảng binhtv.test KHÔNG CÓ- Kiểm tra trong shared pool: Mỗi câu lệnh SQL được băm (giải thuật hash) ra SQL ID (check trong v$sql.sqi_id) (1 câu lệnh SQL trên các instance của RAC đều có chung SQL_ID), và tìm trong vùng Shared SQL area (thuộc Library Cache của Shared Pool trong SGA) do đó:+ Nếu tìm thấy trong Shared SQL area thì sẽ sử dụng Plan này luôn hay còn gọi là Soft Parse, đỡ mất thời gian tạo Plan nên nhanh hơn; lưu ý có thể có nhiều Plan cho 1 câu lệnh tùy thuộc vào dữ liệu truyền vào khi select. Sau đó thực hiện luôn bước 4 (bỏ qua bước 2, bước 3)+ Nếu không tìm thấy trong Shared SQL Area thì gọi là Hard Parse và phải tạo mới Plan và lưu lại vào Share SQL Area cho "hậu thế" sử dụng về sau, thực hiện thêm bước 2 và bước 32. Tối ưu câu lệnh (tạo ra nhiều phương án, plan khác nhau):Thực hiện phân tích các Plan và lựa chọn Plan tối ưu nhất (cost nhỏ nhất) dựa trên các thông tin statistic có sẵn, nên statistic là "sương sống" của Plan DB Oracle3. Tạo ra kế hoạch (Plan) để truy vấn câu lệnh4. Thực thi câu lệnh SQL:Lấy dữ liệu từ memory || datafile và trả về cho người dùngCác câu lệnh DML (insert, update, delete), DDL (create, alter,...) tương tự anh/em tìm hiểu thêm nhé Hy vọng hữu ích với anh/em.============================= * KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học. * CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888 * Chi tiết tham khảo: https://bit.ly/oaz_w ============================= KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH: 📧 Mail: [email protected] ☎️ Mobile: 0902912888 ⚡️ Skype: tranbinh48ca 👨 Facebook: https://www.facebook.com/BinhOracleMaster 👨 Inbox Messenger: https://m.me/101036604657441 (profile) 👨 Fanpage: https://www.facebook.com/tranvanbinh.vn 👨 Inbox Fanpage: https://m.me/tranvanbinh.vn 👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam 👨 Website: https://www.tranvanbinh.vn 👨 Blogger: https://tranvanbinhmaster.blogspot.com 🎬 Youtube: http://bit.ly/ytb_binhoraclemaster 👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi 👨 Linkin: https://www.linkedin.com/in/binhoracle 👨 Twitter: https://twitter.com/binhoracle 👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội ============================= học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, oracle oca, oracle ocp, oracle ocm Labels: Admin, Admin > Objects Bài đăng Mới hơn Bài đăng Cũ hơn Trang chủ
Thứ Ba, 24 tháng 8, 2021
Quá trình xử lý câu lệnh SQL trong Oracle DB
Khi xử lý câu lệnh SQL, Oracle DB sẽ thực hiện:
1. Phân tích câu lệnh (gọi là parsing):Đây là bước đầu tiên sau khi câu lệnh SQL được gửi từ ứng dụng đã kết nối đến DB (hoặc user đã tạo session thành công đến DB). Để thực hiện được điều này nó cần mở hoặc tạo 1 con trỏ (cursor) để giữ session nằm trong Private SQL Area (thuộc Share Pool) để lưu những câu lệnh SQK đã phân tích và những thông tin cần thiết trong quá trình xử lý khác. Con trỏ và private SQL area nằm trong PGA (Program Global Area).Bước phân tích này gồm các bước nhỏ sau:- Kiểm tra cú pháp câu lệnh SQL: Đảm bảo câu lệnh viết đúng, ví dụ câu SELECT * FROMM binhtv.test; là sai vì thừa chữ M (báo lỗi ERROR at line 1:ORA-00923: FROM keyword not found where expected)- Kiểm tra về ngữ nghĩa (semantic) câu lệnh: Để xem bảng,view hay cột có không, ví dụ câu SELECT * FROM binhtv.test; lỗi (ERROR at line 1: ORA-00942: table or view does not exist) do bảng binhtv.test KHÔNG CÓ- Kiểm tra trong shared pool: Mỗi câu lệnh SQL được băm (giải thuật hash) ra SQL ID (check trong v$sql.sqi_id) (1 câu lệnh SQL trên các instance của RAC đều có chung SQL_ID), và tìm trong vùng Shared SQL area (thuộc Library Cache của Shared Pool trong SGA) do đó:+ Nếu tìm thấy trong Shared SQL area thì sẽ sử dụng Plan này luôn hay còn gọi là Soft Parse, đỡ mất thời gian tạo Plan nên nhanh hơn; lưu ý có thể có nhiều Plan cho 1 câu lệnh tùy thuộc vào dữ liệu truyền vào khi select. Sau đó thực hiện luôn bước 4 (bỏ qua bước 2, bước 3)+ Nếu không tìm thấy trong Shared SQL Area thì gọi là Hard Parse và phải tạo mới Plan và lưu lại vào Share SQL Area cho "hậu thế" sử dụng về sau, thực hiện thêm bước 2 và bước 32. Tối ưu câu lệnh (tạo ra nhiều phương án, plan khác nhau):Thực hiện phân tích các Plan và lựa chọn Plan tối ưu nhất (cost nhỏ nhất) dựa trên các thông tin statistic có sẵn, nên statistic là "sương sống" của Plan DB Oracle3. Tạo ra kế hoạch (Plan) để truy vấn câu lệnh4. Thực thi câu lệnh SQL:Lấy dữ liệu từ memory || datafile và trả về cho người dùngCác câu lệnh DML (insert, update, delete), DDL (create, alter,...) tương tự anh/em tìm hiểu thêm nhé Hy vọng hữu ích với anh/em.============================= * KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học. * CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888 * Chi tiết tham khảo: https://bit.ly/oaz_w ============================= KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH: 📧 Mail: [email protected] ☎️ Mobile: 0902912888 ⚡️ Skype: tranbinh48ca 👨 Facebook: https://www.facebook.com/BinhOracleMaster 👨 Inbox Messenger: https://m.me/101036604657441 (profile) 👨 Fanpage: https://www.facebook.com/tranvanbinh.vn 👨 Inbox Fanpage: https://m.me/tranvanbinh.vn 👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam 👨 Website: https://www.tranvanbinh.vn 👨 Blogger: https://tranvanbinhmaster.blogspot.com 🎬 Youtube: http://bit.ly/ytb_binhoraclemaster 👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi 👨 Linkin: https://www.linkedin.com/in/binhoracle 👨 Twitter: https://twitter.com/binhoracle 👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội ============================= học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, oracle oca, oracle ocp, oracle ocm Labels: Admin, Admin > Objects Bài đăng Mới hơn Bài đăng Cũ hơn Trang chủ ĐỌC NHIỀU
-
Hướng dẫn cài đặt, sử dụng công cụ Oracle SQL Developer để làm việc với Oracle Database Oracle SQL Developer là phần mềm do chính hãng Oracle phát triển. Bạn có thể download phần mềm này từ đây hoặc từ link của Oracle tại đây...
-
HỌC ORACLE DATABASE CƠ BẢN TỪ A-Z - BÀI 2: CÁC THÀNH PHẦN KIẾN TRÚC ORACLE DATABASE A-Z Oracle server là một hệ thống quản trị cơ sở dữ liệu đối tượng-quan hệ cho phép quản lý thông tin một cách toàn diện. Oracle server bao gồm ...
-
Cài đặt Oracle Database 19c trên Oracle Linux 7 (OL7) bằng giao diện GUI hoặc bằng silent mode Bài viết này mô tả việc cài đặt Oracle Database 19c 64-bit trên Oracle Linux 7 (OL7) 64-bit bằng giao diện GUI hoặc bằng silent mode
-
Quản lý Quyền trong Oracle Database Mục đích: Quản lý Quyền trong Oracle Database
-
Hướng dẫn Download và cài đặt SecureCRT Giới thiệu phần mềm: VanDyke SecureCRT and SecureFX là một ứng dụng chuyển tập tin an toàn, linh hoạt với giao diện trực quan cung cấp tr...
Tìm kiếm
Lượt xem
Fanpage
BÀI VIẾT MỚI
Làm gì để không bị sa thải khi tái cơ cấu?
Luôn ghi nhớ câu này mỗi ngày: Làm gì để không bị sa thải khi tái cơ cấu? Ví dụ về quản trị CSDL:
YOUTUBE
Cộng đồng DBA Việt Nam
Join "DBA Việt Nam"Đọc nhiều
- Hướng dẫn cài đặt, sử dụng công cụ Oracle SQL Developer để làm việc với Oracle Database Oracle SQL Developer là phần mềm do chính hãng Oracle phát triển. Bạn có thể download phần mềm này từ đây hoặc từ link của Oracle tại đây...
- HỌC ORACLE DATABASE CƠ BẢN TỪ A-Z - BÀI 2: CÁC THÀNH PHẦN KIẾN TRÚC ORACLE DATABASE A-Z Oracle server là một hệ thống quản trị cơ sở dữ liệu đối tượng-quan hệ cho phép quản lý thông tin một cách toàn diện. Oracle server bao gồm ...
- Cài đặt Oracle Database 19c trên Oracle Linux 7 (OL7) bằng giao diện GUI hoặc bằng silent mode Bài viết này mô tả việc cài đặt Oracle Database 19c 64-bit trên Oracle Linux 7 (OL7) 64-bit bằng giao diện GUI hoặc bằng silent mode
- Quản lý Quyền trong Oracle Database Mục đích: Quản lý Quyền trong Oracle Database
- Hướng dẫn Download và cài đặt SecureCRT Giới thiệu phần mềm: VanDyke SecureCRT and SecureFX là một ứng dụng chuyển tập tin an toàn, linh hoạt với giao diện trực quan cung cấp tr...
- TOAD - Công cụ cho Oracle DBA TỐT NHẤT TOAD là công cụ cho Oracle DBA TỐT NHẤT với nhiều tính năng: - Quản trị trực quan các thành phần: Tablespace, Monitor, Tunning, tạo các ob...
- 🚀🚀🚀 KHÓA HỌC ONLINE COACHING "ORACLE DBA A-Z ENTERPRISE" (OAZ), HOTLINE 090.29.12.888 🚀🚀🚀 Trước đây ai có tiền là 'vua', nhưng bây giờ ' Data is King ', thực sự data (dữ liệu) được coi là "trái tim của doanh ...
- Oracle / PLSQL: Hàm SUBSTR Hướng dẫn này giải thích cách sử dụng hàm SUBSTR của Oracle P/SQL với cú pháp và ví dụ. Miêu tả Hàm SUBSTR của Oracle P/SQL cho phép bạn ...
- Hướng dẫn thi các chứng chỉ của Oracle Những người có chứng chỉ của Oracle hiện nay đã phổ biến hơn, mặc dù số lượng vẫn thấp hơn những chứng chỉ khác của CISCO hay MICROSOFT rất ...
- HỌC ORACLE DATABASE CƠ BẢN TỪ A-Z - BÀI 5: QUẢN TRỊ ORACLE DATABASE 5.1. PHÂN LOẠI USERS Oracle là một hệ quản trị cơ sở dữ liệu lớn, chạy trên môi trường mạng. Để vận hành hệ thống được tốt, có thể...
Blog
- ► 2025 (1004)
- ► 12 (2)
- ► 11 (54)
- ► 10 (159)
- ► 9 (435)
- ► 8 (162)
- ► 7 (51)
- ► 6 (3)
- ► 5 (23)
- ► 4 (2)
- ► 3 (56)
- ► 2 (38)
- ► 1 (19)
- ► 2024 (71)
- ► 12 (26)
- ► 11 (15)
- ► 9 (1)
- ► 8 (1)
- ► 6 (2)
- ► 5 (3)
- ► 4 (2)
- ► 3 (18)
- ► 1 (3)
- ► 2023 (715)
- ► 11 (2)
- ► 10 (26)
- ► 9 (9)
- ► 8 (48)
- ► 7 (499)
- ► 6 (52)
- ► 5 (6)
- ► 4 (14)
- ► 3 (18)
- ► 2 (21)
- ► 1 (20)
- ► 2022 (515)
- ► 12 (11)
- ► 11 (193)
- ► 10 (47)
- ► 9 (55)
- ► 8 (5)
- ► 7 (22)
- ► 6 (5)
- ► 5 (12)
- ► 4 (42)
- ► 3 (62)
- ► 2 (53)
- ► 1 (8)
- ► 2020 (320)
- ► 12 (81)
- ► 11 (53)
- ► 10 (3)
- ► 9 (14)
- ► 8 (24)
- ► 7 (19)
- ► 6 (16)
- ► 5 (1)
- ► 3 (21)
- ► 2 (39)
- ► 1 (49)
- ► 2019 (58)
- ► 12 (35)
- ► 11 (15)
- ► 10 (5)
- ► 6 (3)
- ► 2018 (42)
- ► 11 (2)
- ► 10 (1)
- ► 9 (11)
- ► 8 (27)
- ► 5 (1)
- ► 2017 (1)
- ► 4 (1)
Trần Văn Bình - Oracle Database Master
Từ khóa » Câu Lệnh Trong Sql Oracle
-
Hướng Dẫn Học SQL Cho Người Mới Bắt đầu Với Oracle
-
Tổng Hợp 30 Câu Truy Vấn Hữu ích Trong Oracle
-
Lệnh SELECT Trong Oracle
-
Các Câu Lệnh Command Oracle Database Thường Dùng - VinaSupport
-
Giao Trinh Oracle SQL Plsql Co Ban - SQL Và PL/SQL Cơ Bản MỤC ...
-
SQL*PLus - Một Số Câu Lệnh Hay Sử Dụng Trong Oracle Database
-
Câu Lệnh Truy Vấn Oracle Docx - Tài Liệu - 123doc
-
SQL Và PL/SQL MỤC LỤC Phần Logic Trong Database
-
Tìm Các Câu Lệnh SQL Chạy Lâu, Chiếm IO, Chiếm Tài Nguyên Trong ...
-
Tối ưu-cau-lệnh-oracle-sql - SlideShare
-
45 Rất Hữu Ích Oracle Tóm Tắt Câu Lệnh Truy Vấn - MofunIT
-
Tổng Hợp Những Câu Lệnh SQL Cơ Bản - TopDev
-
Lệnh SELECT TOP Trong SQL
-
Toán Tử Trong SQL