Câu hỏi Database – SQL

Author: - Posted: 11/04/22 - Update: 16/08/22

Câu 1: Các kiểu dữ liệu trong MySQL
- Kiểu Int: TinyInt, smallInt, MediumInt, Int, BigInt
- Kiểu số thực: Float(4 byte), Double(8 byte)
- Date, DateTime, Timestap (TimeStamp chuyển sang UTC khi lưu trữ và convert ngược lại khi lấy ra)
- Char(chiều dài cố định, hiệu suất nhanh hơn), Varchar

Câu 1: Phân biệt Left Join, Right Join, Inner Join trong SQL

Câu 2: Join collection trong MongoDB
- Dùng: aggregate với $lookup hoặc trong mongoose dùng populate...

Câu 3: Index trong Database là gì
- INDEX giúp tăng tốc các truy vấn SELECT chứa các mệnh đề WHERE hoặc ORDER
- INDEX làm chậm việc dữ liệu nhập vào với các lệnh UPDATE và INSERT. Các chỉ mục có thể được tạo hoặc xóa mà không ảnh hưởng tới dữ liệu.
- Các kiểu index trong SQL:
+ Single-Column Index
+ Unique Index
+ Composite Index
+ Implicit Index (Index ngầm định): được tạo tự động cho các ràng buộc Primary key và các ràng buộc Unique
- Các kiểu index trong MongoDB:
+ Single Field Indexes
+ Unique Indexes
+ Compound Indexes

Câu 3: Tối ưu hiệu suất Database
- Đánh index
- Sử dụng từ khoá Like phải hợp lý: Tránh dùng '%' phía trước --> phải duyệt toàn bộ bản ghi
- Tránh sử dụng hàm thao tác lên column -> nên thao tác lên dữ liệu --> tránh duyệt toàn bộ bản ghi
- Tránh sử dụng điều kiện với các loại khác kiểu

Câu 4: Một số syntax cơ bản:
- UNION: gộp 2 câu lệnh select
- DISTINCT: loại bỏ giá trị trùng lặp
- COUNT: đếm số bản ghi
- Store procedure: cũng giống như tạo 1 function vậy 😀