Một trong những nguyên nhân khiến cho câu lệnh SQL chạy chậm chính là các lệnh sắp xếp. Do vậy viện Pasteur (@quảng cáo of VTV) khuyên đồng bào chỉ dùng khi cần thiết.

Muốn tránh thì phải biết nguyên nhân gây bệnh. Ở đây các nguyên nhân gây ra sắp xếp là:
– Select distinct ….
– UNION
– GROUP BY
– ORDER BY
– CREATE / REBUILD INDEX
– ANALYZE …. COMPUTE STATISTICS
– EQUAL JOIN

Btw, Bsi Hoa Súng cảnh báo đồng bào lệnh Union khác với Union All đấy nhé.
– Cùng là phép hợp
– Union đưa ra kết quả đã được sắp xếp
– Union all đưa ra kết quả chưa sắp xếp
– Tốc độ của Union All nhanh hơn

Để chữa bệnh thì chúng ta nên Đông Tây y kết hợp với thầy cúng
– select distinct …. ===>  Tạo index trên distinct list
– UNION              ===>   UNION ALL (Nếu biết các giá trị không trùng nhau)
– GROUP BY        ====> WHERE Nếu có thể / InLine view
– ORDER BY        =====> Tạo index
– CREATE / REBUILD INDEX  =====> NOSORT
– ANALYZE …. COMPUTE STATISTICS=====> ESTIMATE
– EQUAL JOIN        ====> Tạo Index trên JOIN

Do vậy khi viết câu lệnh SQL, chỉ khi có yêu cầu sắp xếp thì đồng bào hãy dùng, còn không thì nên loại bỏ nó để tăng tốc độ câu lệnh (tất nhiên là đối với các câu lệnh trả về số lượng lớn bản ghi, chứ bảng bé thì ignore)

Nói thế chắc đồng bào hiểu?

HN

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: