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/


APPLY NOW






    Benefits

    SALARY & BONUS POLICY

    RiverCrane Vietnam sympathizes staffs' innermost feelings and desires and set up termly salary review policy. Performance evaluation is conducted in June and December and salary change is conducted in January and July every year. Besides, outstanding staffs receive bonus for their achievements periodically (monthly, yearly).

    TRAINING IN JAPAN

    In order to broaden staffs' view about technologies over the world, RiverCrane Vietnam set up policy to send staffs to Japan for study. Moreover, the engineers can develop their career paths in technical or management fields.

    ANNUAL COMPANY TRIP

    Not only bringing chances to the staffs for their challenging, Rivercrane Vietnam also excites them with interesting annual trips. Exciting Gala Dinner with team building games will make the members of Rivercrane connected closer.

    COMPANY'S EVENTS

    Activities such as Team Building, Company Building, Family Building, Summer Holiday, Mid-Autum Festival, etc. will be the moments worthy of remembrance for each individual in the project or the pride when one introduces the company to his or her family, and shares the message "We are One".

    INSURANCE

    Rivercrane Vietnam ensures social insurance, medical insurance and unemployment insurance for staffs. The company commits to support staffs for any procedures regarding these insurances. In addition, other insurance policies are taken into consideration and under review.

    OTHER BENEFITS

    Support budget for activities related to education, entertainment and sports. Support fee for purchasing technical books. Support fee for getting engineering or language certificates. Support fee for joining courses regarding technical management. Other supports following company's policy, etc.

    RELATED JOBS

    © 2012 RiverCrane Vietnam. All rights reserved.

    Close