Tải bản đầy đủ (.pptx) (31 trang)

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)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 31 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>Thuyết trình Nhóm </b>

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

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>I. Khái niệm</b>

<b>II. Các cách tối ưu</b>

<b>III. Hiệu quả khi được tối ưu</b>

<b>Nội dung thuyết trình</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

I. Khái niệm

<i><b>1.Khái niệm về SQL</b></i>

-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.

<i><b>2. Truy vấn dữ liệu</b></i>

-Truy vấn dữ liệu trong SQL là q 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:SELECTHoten, Gioitinh, Email FROMNhanVien;SELECT*FROMKhachHang;

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Ikan Masin

<i><b>3. Tối ưu câu hỏi truy vấn SQL</b></i>

-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ụ.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>ĐÁNH INDEX Ở CÁC CỘT SỬ DỤNG WHERE, ORDER BY, GROUP BY</b>

- 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:

<b>II. Các cách tối ưu</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>ĐÁNH INDEX Ở CÁC CỘT SỬ DỤNG WHERE, ORDER BY, GROUP BY</b>

- Để 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ả:

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>TỐI ƯU CÂU LỆNH BẰNG UNICON</b>

- 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%' ;

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>TRÁNH SỬ DỤNG CÂU TRUY VẤN CÙNG LIKE VỚI ‘%’ PHÍA TRƯỚC</b>

- 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' ;

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>SỬ DỤNG TRUY VẤN CỦA MYSQL FULL-TEXT SEARCH</b>

- Để 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');

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>TỐI ƯU DATABASE SCHEMA</b>

- 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 tố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".

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>SỬ DỤNG MYSQL QUERY CACHING </b>

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:

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>SỬ DỤNG MYSQL QUERY CACHING </b>

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

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

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

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>SỬ DỤNG MYSQL QUERY CACHING </b>

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

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Back view

<b>III. Hiệu quả </b>

<b>khi được tối ưu</b>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Back view

<b>Tối ưu cơ sở dữ liệu mang lại hiệu quả như thế nào </b>

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.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="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.

<b>1. Tăng tốc độ truy vấn</b>

Tối ưu hóa giúp giảm thời gian truy

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="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.

<b>2. Tiết kiệm tài </b>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.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="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.

<b>3</b>

<b>. Tăng hiệu suất ứng dụng</b>

Ứng dụng sử dụng cơ sở dữ liệu tối ưu hóa có thể hoạt

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="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.

<b>4. Giảm Chi Phí Vận Hành:</b>

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.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="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.

<b>4. Giảm Chi Phí Vận Hành:</b>

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 ngun hệ thống và giúp ngăn chặn việc phải

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.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="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.

<b>4. Giảm Chi Phí Vận Hành:</b>

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 ngun hệ thống và giúp ngăn chặn việc phải

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.

<b>6. Bảo Mật Dữ Liệu:</b>

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 tồn vẹn của dữ liệu.

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="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.

<b>4. Giảm Chi Phí Vận Hành:</b>

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

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.

<b>6. Bảo Mật Dữ Liệu:</b>

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 tồn vẹn của dữ liệu.

<b>7. Dễ Dàng Quản Lý:</b>

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.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>Câu hỏi ôn tập</b>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="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ệuC. Giảm khả năng mở rộng

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

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

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

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

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

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

</div>

×