1. Trang chủ
  2. » Giáo án - Bài giảng

Tự học My SQL hiệu quả

7 284 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 38,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Storage Engine - MyISAM : Ưu điểm: - Tốc độ truy xuất cao - Insert dữ liệu với tốc độ cao - Lưu trữ làm nhiều file trên hệ thống, ít tốn dung lượng đĩa - Hỗ trợ full text search Nhược đi

Trang 1

1 Storage Engine

- MyISAM :

Ưu điểm:

- Tốc độ truy xuất cao

- Insert dữ liệu với tốc độ cao

- Lưu trữ làm nhiều file trên hệ thống, ít tốn dung lượng đĩa

- Hỗ trợ full text search

Nhược điểm:

- Table lock level

- Không hỗ trợ transation

- InnoDB:

Ưu điểm:

- Hỗ trợ transaction

- Row level lock

- Crash recovery

- Hỗ trợ Foregin Key

Nhược điểm:

- Truy xuất chậm

- Insert dữ liệu tốc độ chậm

- Tốn nhiều bộ nhớ cho buffer pool

- Tốn nhiều dung lượng đĩa cứng

Trang 2

2 Các kiểu dữ liệu

Varchar

Text : 65k byte 2^16

Medium Text : 16 triệu byte

LongText : 2tỷ byte

Các kiểu về chữ sử dụng Charset UTF-8, Latin

Và các Collation, _genaral_ci, _bin

Kiểu _bin (uft8_bin) : Tốc độ tìm kiếm nhanh do khi so sánh sẽ sử dụng kiểu so sánh bằng tuyệt đối (phân biệt hoa thường)

Kiểu _genaral_ci (utf8_genaral_ci): Không phân biệt hoa thường, không dấu

và có dấu được coi như nhau

BLOB: dạng binary dùng để lưu trữ ảnh, file nhị phân…

MediumBLOB

LongBLOB

Trang 3

3 Index

Cải thiện tốc độ truy xuất, tốc độ sort, join v v khi thao tác đến column có

sử dụng index

Do tác dụng của index nên những trường để Join, sort, where nên sử dụng Index

Nhược điểm: Nếu sử dụng quá nhiều Index trong 1 bảng sẽ dẫn đến tốc độ insert bị sụt giảm

Hình thức index phổ biến của MySQL là B-tree

Create Index Diemtoan

Hoten Diem Toan (index), DiemVan(Index) …

http://people.ksp.sk/~kuko/bak/big/

Trang 4

4 Quy tắc đặt tên

Tên table: Đặt tên table sử dụng dấu _ để ngăn cách các từ

Ví dụ : user_logs,

Tên các colum lấy tiền tố của table theo quy tắc:

Nếu table là từ đơn thì lấy 3 ký tự đầu

Ví dụ:

Table users

Các column sẽ có dạng : use_id, use_name…

Table products

Các column sẽ có dạng : pro_id, pro_name…

Nếu table là từ ghép thì lấy chữ cái đầu của các từ ghép

Ví dụ: user_logs

Các column sẽ có dạng : ul_id, ul_user_id…

Sử dụng quy tắc này sẽ tránh bị lỗi mờ hồ khi join nhiều bảng SELECT * FROM users, user_logs WHERE use_id = ul_user_id

Trang 5

5 Query

- Câu lệnh select đơn giản : Select * from table_A;

- Trong khi lập trình lưu ý thật hạn chế việc sử dụng select * mà phải select

đủ cột cần dùng: Select user_id, user_name FROM table_A

- Join 2 bảng:

SELECT * FROM users, user_logs WHERE use_id = ul_user_id

Hoặc

SELECT * FROM users INNER JOIN user_logs ON use_id = ul_user_id Ngoài ra có thể sử dụng LEFT JOIN, RIGHT JOIN, FULL JOIN

- Sắp xếp sửa dụng cú pháp ORDER BY

- Giới hạn record trả về sử dụng LIMIT 1000, 10

- Nhóm kết quả sử dụng GROUP BY … HAVING …

- Kết hợp 2 query dùng UNION (UNION ALL)

SELECT * FROM table_A

UNION

SELECT * FROM table_B

- Insert dữ liệu:

INSERT INTO table_A(…) VALUES(…)

Insert batch INSERT INTO table_A(…) VALUES (….), (.…),(….)

- UPDATE, DELETE

Trang 6

6 Một số function cơ bản

Count

Sum

Avg

If

v…v

Một số function về string

Trang 7

Bài tập:

Làm 1 site tin tức bao gồm 2 phần:

Danh mục tin (category)

Tin tức

Admin

Category bao gồm:

1 id

2 tên category

3 thứ tự sắp xếp

Tin tức bao gồm

1 id

2 Tiêu đề tin

3 Danh mục tin

4 Ảnh đại diện

5 Ngày post tin

6 Kích hoạt

7 Mô tả ngắn

8 Mô tả chi tiết

Bên ngoài show như vnexpress hoặc tin247.com

Gồm menu category theo thứ tự đã định, bên phải hoặc ở dưới là tin tức Tin ở phần category bao gồm Tiêu đề, ảnh, teaser (mô tả ngắn), ngày nhập

Ngày đăng: 30/09/2014, 23:00

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w