Share This
//Top 10 thực hành tốt nhất trong MySQL

Top 10 thực hành tốt nhất trong MySQL

MySQL được sử dụng rộng rãi trên thế giới và nó là một mã nguồn mở về hệ thống quản lý cơ sở dữ liệu quan hệ. Nó đã trở nên phổ biến vì hiệu quả nhanh nhất, độ tin cậy cao và dễ sử dụng. Bài viết này trình bày một số các thực hành tốt nhất trong MySQL.

1. Luôn luôn sử dụng kiểu dữ liệu thích hợp

Sử dụng các kiểu dữ liệu dựa trên bản chất của dữ liệu. Nếu bạn sử dụng các kiểu dữ liệu không thích hợp nó có thể tốn nhiều không gian hơn hoặc có thể dẫn đến sai sót.

Ví dụ: Sử dụng varchar (20) để lưu trữ các giá trị thời gian ngày thay vì DATETIME datatype sẽ dẫn đến sai sót trong quá trình cập nhật thời gian liên quan đến tính toán và đó cũng là có thể trường hợp của lưu trữ dữ liệu không hợp lệ.

2. Sử dụng CHAR (1) trên VARCHAR (1)

Nếu dữ liệu là một chuỗi kí tự đơn, bạn hãy sử dụng CHAR (1) thay vì VARCHAR (1) vì VARCHAR (1) sẽ mất thêm byte để lưu trữ thông tin.

3. Sử dụng CHAR datatype để lưu trữ dữ liệu chỉ có chiều dài cố định

Ví dụ: Sử dụng char (1000) thay vì varchar (1000) sẽ tiêu thụ nhiều không gian hơn nếu chiều dài của dữ liệu ít hơn 1000.

4. Tránh sử dụng các định dạng ngày trong khu vực

Khi bạn sử dụng DATETIME hoặc DATE datatype luôn luôn sử dụng định dạng ngày YYYY-MM-DD hoặc định dạng ngày tháng theo tiêu chuẩn ISO phù hợp với SQL Engine của bạn. Định dạng khác trong khu vực như DD-MM-YYY, MM-DD-YYYY sẽ không được lưu trữ đúng cách.

5. Thiết lập index cho các column

Hãy chắc chắn để các cột có index được sử dụng trong mệnh đề JOIN để câu truy vấn trả về kết quả nhanh chóng.

Nếu bạn sử dụng câu lệnh UPDATE có liên quan đến nhiều hơn một bảng, hãy chắc chắn rằng tất cả các cột được sử dụng để join các bảng được đã được đánh index.

6. Không sử dụng các function trên các cột được đánh index

Sử dụng các function trên các cột được đánh index là không tận dụng được chức năng của index.

Giả sử bạn muốn lấy dữ liệu các mã khách hàng có ký tự đầu tiên là AK, không viết

SELECT columns FROM table WHERE left (customer_code,2)=’AK’

hãy viết lại nó bằng cách sau:

SELECT columns FROM table WHERE customer_code like ‘AK%’

câu này sẽ sử dụng index cho kết quả nhanh hơn.

7. Sử dụng SELECT * chỉ khi cần thiết

Đừng viết SELECT * trong các câu query.

Nếu có nhiều cột trong bảng, tất cả sẽ được trả lại mà sẽ làm chậm thời gian xử lý.

Bạn hãy liệt kê rõ ràng và cụ thể các tên cột thực sự cần thiết.

8. Sử dụng ORDER BY chỉ khi cần thiết

Sử dụng khi bạn muốn hiển thị các kết quả đã được sắp xếp. Làm điều này trong SQL có thể làm chậm thời gian xử lý câu sql trong môi trường đa người dùng.

9. Chọn đúng cơ sở dữ liệu

Nếu bạn phát triển một ứng dụng đọc dữ liệu thường xuyên hơn so với văn bản (ví dụ: công cụ tìm kiếm), chọn MyISAM storage engine.

Nếu bạn phát triển một ứng dụng ghi dữ liệu thường xuyên hơn so với đọc (ví dụ: các giao dịch ngân hàng thời gian thực), chọn InnoDB storage engine.

Chọn storage engine sai sẽ ảnh hưởng đến hiệu suất.

10. Sử dụng EXISTS bất cứ nơi nào cần thiết

Nếu bạn muốn kiểm tra sự tồn tại của dữ liệu, đừng nên sử dụng

If (SELECT count(*) from Table WHERE col=’some value’)>0

thay vào đó, hãy sử dụng EXISTS

If EXISTS(SELECT * from Table WHERE col=’some value’)

thời gian xử lý sẽ nhanh hơn.

Nguồn: https://bigdata-madesimple.com/top-10-best-practices-in-mysql/


ỨNG TUYỂN







    Chế độ phúc lợi

    CHÍNH SÁCH LƯƠNG & THƯỞNG

    Thấu hiểu tâm tư nguyện vọng của nhân viên, công ty Rivercrane Việt Nam đặc biệt thiết lập chế độ xét tăng lương định kỳ 2lần/năm. Xét đánh giá vào tháng 06 và tháng 12 hàng năm và thay đổi lương vào tháng 01 và tháng 07 hàng năm. Ngoài ra, nhân viên còn được thưởng thành tích định kỳ cho các cá nhân xuất sắc trong tháng, năm.

    CHẾ ĐỘ ĐÀO TẠO TẠI NHẬT

    Luôn luôn mong muốn các kỹ sư và nhân viên trong công ty có cái nhìn toàn diện về lập trình những mảng kỹ thuật trên thế giới, công ty Rivercrane Việt Nam quyết định chế độ 3 tháng 1 lần đưa nhân viên đi học tập tại Nhật. Các bạn kỹ sư hoàn toàn đều có thể quyết định khả năng phát triển bản thân theo hướng kỹ thuật hoặc theo hướng quản lý.

    CHẾ ĐỘ ĐI DU LỊCH HÀNG NĂM

    Không chỉ đưa đến cho nhân viên những công việc thử thách thể hiện bản thân, công ty Rivercrane Việt Nam muốn nhân viên luôn thích thú khi đến với những chuyến hành trình thú vị hàng năm. Những buổi tiệc Gala Dinner sôi động cùng với những trò chơi Team Building vui nhộn sẽ giúp cho đại gia đình Rivercrane thân thiết hơn.

    CHẾ ĐỘ EVENT CÔNG TY

    Những hoạt động Team building, Company Building, Family Building, Summer Holiday, Mid-Autumn Festival… sẽ là những khoảnh khắc gắn kết đáng nhớ của mỗi một nhân viên trong từng dự án, hoặc sẽ là những điều tự hào khi giới thiệu công ty mình với với gia đình thân thương, cùng nhau chia sẻ yêu thương với thông điệp “We are One”

    BẢO HIỂM

    Công ty Rivercrane Việt Nam đảm bảo tham gia đầy đủ chế độ Bảo hiểm xã hội, bảo hiểm y tế và bảo hiểm thất nghiệp. Cam kết chặt chẽ về mọi thủ tục phát sinh công ty đều hỗ trợ và tiến hành cho nhân viên từ đầu đến cuối. Những chế độ bảo hiểm khác công ty cũng đặc biệt quan tâm và từng bước tiến hành.

    CHẾ ĐỘ PHÚC LỢI KHÁC

    Hỗ trợ kinh phí cho các hoạt động văn hóa, văn nghệ, thể thao; Hỗ trợ kinh phí cho việc mua sách nghiên cứu kỹ thuật; Hỗ trợ kinh phí thi cử bằng cấp kỹ sư, bằng cấp dành cho ngôn ngữ. Hỗ trợ kinh phí tham gia các lớp học về quản lý kỹ thuật bên ngoài; Các hỗ trợ phúc lợi khác theo quy định công ty…

    © 2012 RiverCrane Vietnam. All rights reserved.

    Close