1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Sql (structured query language) là một ngôn ngữ lập trình dùng để quản lý và tương tác với cơ sở dữ liệu quan hệ (relational database management system)

31 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Sql (Structured Query Language) là một ngôn ngữ lập trình dùng để quản lý và tương tác với cơ sở dữ liệu quan hệ (Relational Database Management System)
Tác giả Nguyễn Trung Dũng, Đỗ Đặng Bảo Nguyên, Hoàng Thiên Bình Nguyên, Võ Hoàng Nhật Trường
Người hướng dẫn GV. Hồ Huỳnh Phong
Chuyên ngành Cơ Sở Dữ Liệu
Thể loại Thuyết trình nhóm
Định dạng
Số trang 31
Dung lượng 2,98 MB

Nội dung

Nó không chỉ làm giảm tải tác vụ không cần thiết mà còn tối ưu hóa cơ sở dữ liệu để truy xuất nhanh hơn, tránh được các sự cố không mong muốn xảy ra như deadlock, thiếu hụt tài nguyên,.

Trang 1

Thuyết trình

Nhóm

Môn: Cơ Sở Dữ Liệu GV: Hồ Huỳnh Phong

Trang 3

I Khái niệm

II Các cách tối ưu

III Hiệu quả khi được

tối ưu

Nội dung thuyết trình

Trang 4

I Khái

niệm

1.Khái niệm về SQL

-SQL (Structured Query Language) là một ngôn ngữ lập trình dùng

để quản lý và tương tác với cơ sở dữ liệu quan hệ (Relational Database Management System) SQL được sử dụng để thực hiện các thao tác như truy vấn dữ liệu, cập nhật dữ liệu, chèn dữ liệu, xóa dữ liệu và quản lý cấu trúc của cơ sở dữ liệu.

2 Truy vấn dữ liệu

-Truy vấn dữ liệu trong SQL là quá trình lấy thông tin từ cơ sở dữ liệu Câu truy vấn thường sử dụng câu lệnh SELECT

Dưới đây là một số ví dụ về truy vấn dữ liệu trong SQL:

SELECT Hoten, Gioitinh, Email FROM NhanVien;

SELECT * FROM KhachHang;

Trang 5

Ikan Masin

3 Tối ưu câu hỏi truy vấn

SQL

-Tối ưu hóa câu hỏi truy vấn SQL là

quá trình cải thiện hiệu suất và hiệu quả

của câu lệnh truy vấn.

-Nhằm đảm bảo rằng cơ sở dữ liệu

được trả về kết quả một cách nhanh

chóng và hiệu quả.

=>Tối ưu SQL không chỉ là một vấn đề

kỹ thuật mà còn ảnh hưởng đến trải

nghiệm người dùng, hiệu suất hệ thống,

và khả năng mở rộng của ứng dụng hoặc

dịch vụ.

Trang 6

ĐÁNH INDEX Ở CÁC CỘT SỬ DỤNG WHERE,

ORDER BY, GROUP BY

- Ví dụ dưới đây khi chạy một câu

lệnh SQL với 500 rows mà không

sử dụng index:

II Các cách tối ưu

Trang 7

ĐÁNH INDEX Ở CÁC CỘT SỬ DỤNG WHERE,

ORDER BY, GROUP BY

- Để sửa lại tối ưu cho câu truy vấn trên ta chỉ cần đánh

index vào cột customer_id:

-Chạy lại câu truy vấn bên trên sẽ cho ra kết quả:

Trang 8

TỐI ƯU CÂU LỆNH BẰNG UNICON

- Ví dụ trong trường hợp dưới đây:

- Câu truy vấn trên có thêm được tối ưu hơn bằng cách sử

dụng union để tận dụng index đã đánh:

mysql> select * from students where first_name like 'A%' or last_name like 'B%' ;

mysql> select from students where first_name like 'A%' union all select from

students where last_name like 'B%' ;

Trang 9

TRÁNH SỬ DỤNG CÂU TRUY VẤN CÙNG LIKE

VỚI ‘%’ PHÍA TRƯỚC

- Hãy xem xét câu truy vấn dưới đây:

- Sử dụng EXPLAIN để xem chi tiết hơn:

mysql> select * from students where first_name like '%A' ;

Trang 10

SỬ DỤNG TRUY VẤN CỦA MYSQL FULL-TEXT

SEARCH

- Để thêm full-text search index ta sử dụng câu lệnh:

- Chạy EXPLAIN có kết quả như sau:

mysql>Alter table students ADD FULLTEXT (first_name, last_name);

mysql>Select * from students where match(first_name, last_name) AGAINST ('A');

Trang 11

TỐI ƯU DATABASE SCHEMA

- Tối ưu hóa kiểu dữ liệu:

- Tránh null value:

Ví dụ: khi thiết kế bảng user chỉ chứa nhỏ

hơn 100 bản ghi, chúng ta nên sử dụng

'TINYINT' cho cột user_id.

Ví dụ: trong trường hợp tính toán tiền của order mà một

cột nào đó chứa null thì có thể dẫn đến kết quả không

mong muốn mà ta phải sử dụng thêm điều kiện "if not

null".

Trang 12

SỬ DỤNG MYSQL QUERY CACHING

Có thể check nếu Mysql server sử dụng query

cache hay không bằng cách chạy câu lệnh:

Trang 13

SỬ DỤNG MYSQL QUERY CACHING

* Seting mysql query cache: Ta có thể setting mysql query cache bằng cách

edit file '/etc/mysql/my.cnf' hoặc '/etc/mysql/mysql.conf.d/mysqld.cnf' Để

check value của query cache ta sử dụng command:

Trang 14

SỬ DỤNG MYSQL QUERY CACHING

- Có thể thay đổi giá trị trên bằng cách thay đổi trong file config:

Trang 15

Back view

III Hiệu quả khi được tối ưu

Trang 16

Back view

Tối ưu cơ sở dữ liệu mang lại

hiệu quả như thế nào

Have a routine, minimize news feeds and screen time, do simple daily physical exercises Keep in regular routines, schedules & contact with loved ones via technology Learn more Your questions answered

Learn about Coronavirus Advice for the public

• Khi được điều chỉnh đúng cách cơ sở dữ liệu sẽ mang lại hiệu năng tuyệt vời Nó không chỉ làm giảm tải tác vụ không cần thiết mà còn tối ưu hóa cơ sở dữ liệu để truy xuất nhanh hơn, tránh được các sự

cố không mong muốn xảy ra như deadlock, thiếu hụt tài nguyên,

dấn tới những hậu quả nghiêm trọng Đặc biệt là khi xử lý các hệ thống có quy mô lớn hoặc cần đáp ứng yêu cầu có hiệu suất cao.

Trang 17

Back view

Have a routine, minimize news feeds and screen time, do simple daily physical exercises Keep in regular routines, schedules & contact with loved ones via technology Learn more Your questions answered Learn about Coronavirus Advice for the public

1 Tăng tốc

độ truy vấn

Tối ưu hóa giúp giảm thời gian truy vấn, làm cho các truy vấn diễn ra nhanh chóng hơn

Điều này cực kỳ quan trọng khi xử

lý lượng dữ liệu lớn

và đồng thời cải thiện trải nghiệm người dùng.

Trang 18

Back view

Have a routine, minimize news feeds and screen time, do simple daily physical exercises Keep in regular routines, schedules & contact with loved ones via technology Learn more Your questions answered Learn about Coronavirus Advice for the public

2 Tiết kiệm tài nguyên hệ thống

Bằng cách giảm lượng dữ liệu được truy vấn hoặc sử dụng chỉ số, tối ưu hóa giúp giảm áp lực lên tài nguyên

hệ thống, bao gồm

bộ nhớ và CPU.

Trang 19

Back view

Have a routine, minimize news feeds and screen time, do simple daily physical exercises Keep in regular routines, schedules & contact with loved ones via technology Learn more Your questions answered Learn about Coronavirus Advice for the public

3 Tăng hiệu suất ứng dụng

Ứng dụng sử dụng

cơ sở dữ liệu tối

ưu hóa có thể hoạt động mượt mà và đáp ứng nhanh chóng hơn, giúp cải thiện trải nghiệm người dùng và tăng tính sẵn sàng của hệ thống.

Trang 20

Back view

Have a routine, minimize news feeds and screen time, do simple daily physical exercises Keep in regular routines, schedules & contact with loved ones via technology Learn more Your questions answered Learn about Coronavirus Advice for the public

Trang 21

Back view

Have a routine, minimize news feeds and screen time, do simple daily physical exercises Keep in regular routines, schedules & contact with loved ones via technology Learn more Your questions answered Learn about Coronavirus Advice for the public

4 Giảm Chi Phí Vận Hành:

Tối ưu hóa giúp giảm chi phí vận hành hệ thống, vì nó giảm tải cho các tài nguyên hệ thống

và giúp ngăn chặn việc phải nâng cấp phần cứng quá thường xuyên.

Trang 22

Back view

Have a routine, minimize news feeds and screen time, do simple daily physical exercises Keep in regular routines, schedules & contact with loved ones via technology Learn more Your questions answered Learn about Coronavirus Advice for the public

4 Giảm Chi Phí Vận Hành:

Tối ưu hóa giúp giảm chi phí vận hành hệ thống, vì nó giảm tải cho các tài nguyên hệ thống

và giúp ngăn chặn việc phải nâng cấp phần cứng quá thường xuyên.

5 Tăng Khả Năng Mở Rộng:

Cơ sở dữ liệu được tối ưu hóa

dễ dàng mở rộng, giúp hệ thống đáp ứng được với sự gia tăng của dữ liệu và người dùng

mà không làm suy giảm hiệu suất.

Trang 23

Back view

Have a routine, minimize news feeds and screen time, do simple daily physical exercises Keep in regular routines, schedules & contact with loved ones via technology Learn more Your questions answered Learn about Coronavirus Advice for the public

4 Giảm Chi Phí Vận Hành:

Tối ưu hóa giúp giảm chi phí vận hành hệ thống, vì nó giảm tải cho các tài nguyên hệ thống

và giúp ngăn chặn việc phải nâng cấp phần cứng quá thường xuyên.

5 Tăng Khả Năng Mở Rộng:

Cơ sở dữ liệu được tối ưu hóa

dễ dàng mở rộng, giúp hệ thống đáp ứng được với sự gia tăng của dữ liệu và người dùng

mà không làm suy giảm hiệu suất.

6 Bảo Mật Dữ Liệu:

Tối ưu hóa cơ sở dữ liệu có thể

đi kèm với cải thiện bảo mật, giúp ngăn chặn các tấn công

và đảm bảo tính toàn vẹn của

dữ liệu.

Trang 24

Back view

Have a routine, minimize news feeds and screen time, do simple daily physical exercises Keep in regular routines, schedules & contact with loved ones via technology Learn more Your questions answered Learn about Coronavirus Advice for the public

4 Giảm Chi Phí Vận Hành:

Tối ưu hóa giúp giảm chi phí vận hành hệ thống, vì nó giảm tải cho các tài nguyên hệ thống

và giúp ngăn chặn việc phải nâng cấp phần cứng quá thường xuyên.

5 Tăng Khả Năng Mở Rộng:

Cơ sở dữ liệu được tối ưu hóa

dễ dàng mở rộng, giúp hệ thống đáp ứng được với sự gia tăng của dữ liệu và người dùng

mà không làm suy giảm hiệu suất.

6 Bảo Mật Dữ Liệu:

Tối ưu hóa cơ sở dữ liệu có thể

đi kèm với cải thiện bảo mật, giúp ngăn chặn các tấn công

và đảm bảo tính toàn vẹn của

dữ liệu.

7 Dễ Dàng Quản Lý:

Các cơ sở dữ liệu được tối ưu hóa thường dễ quản lý hơn, với khả năng giảm thiểu sự phức tạp trong việc duy trì và điều chỉnh cấu trúc dữ liệu.

Trang 25

Câu hỏi ôn tập

Trang 26

1.SQL là viết tắt của gì?

A Structured Query Language

B B System Query Language

C Sequential Query Language

A Quá trình cải thiện hiệu suất và hiệu quả của truy vấn SQL

B Giảm số lượng bảng trong cơ sở dữ liệu

C Chỉ sử dụng một loại chỉ mục

Trang 27

4.Chức năng chính của chỉ mục trong SQL là gì?

A Giữ nguyên dữ liệu không thay đổi

B Tìm kiếm nhanh dữ liệu

C Xóa dữ liệu không cần thiết

5.Trong SQL, việc viết truy vấn hiệu quả bao gồm gì?

A Sử dụng nhiều bảng hơn

B Chọn ra các cột cần thiết, sử dụng điều kiện phù hợp

C Chỉ sử dụng các hàm phức tạp

6.Lợi ích chính của việc tối ưu SQL là gì?

A Tăng cường trải nghiệm người sử dụng, giảm tải cho cơ sở dữ liệu

B Tăng kích thước cơ sở dữ liệu

C Giảm khả năng mở rộng

Trang 28

7 Tối ưu SQL giúp gì cho hiệu suất của truy vấn?

A Làm truy vấn chạy chậm hơn

B Làm truy vấn chạy nhanh hơn

C Không có ảnh hưởng gì đến hiệu suất

8.Trong SQL, câu lệnh SELECT được sử dụng để làm gì?

A Thêm dữ liệu mới

Trang 29

10.SQL là ngôn ngữ lập trình chủ yếu được sử dụng cho cơ sở dữ liệu nào?

Trang 30

13 Trong SQL, để chọn tất cả các bản ghi từ một bảng, bạn sử dụng câu lệnh nào?

B Lọc dữ liệu dựa trên điều kiện

C Thêm dữ liệu mới vào bảng

15 Trong SQL, cấu trúc bảng được định nghĩa bởi câu lệnh nào?

A CREATE TABLE

B DEFINE TABLE

C TABLE STRUCTURE

Trang 31

Cảm ơn thầy và các bạn đã lắng nghe!

Ngày đăng: 06/04/2024, 14:38

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w