Index, when?

Ở cuộc thi “Ai là triệu phú”, anh Sâm LV hỏi “chung chung” thế này:

“Sử dụng index sẽ làm cho câu SQL của bạn … ”

A. Nhanh lên
B. Chậm lên
C. Chẳng nhanh cũng chẳng chậm
D. x biết

– Em xin lựa chọn hỏi ý kiến khán giả. Anh Sâm quay sang hỏi khán giả. Đáp án của khán giả là A – 60%, B – 30%,  C – 5% và D – 5%. Thế còn bạn, câu trả lời của bạn là gì?

Mình đoán phần lớn các bạn sẽ trả lời là A theo ý kiến khán giả (giả vờ thế). Nếu thế thì các bạn tạch rồi. Mất n triệu rồi. Đau nhỉ.

Đáp án là D: x biết.

Index chỉ useful when
– Cột chứa một khoảng rộng dữ liệu
– Cột chứa một số lượng lớn giá trị null
– Cột thường xuyên được sử dụng cùng nhau trong mệnh đề WHERE hoặc điều kiện join
– Bảng chứa rất nhiều dữ liệu và hầu hết các câu queries với điều kiện Where sẽ lấy dữ liệu trả về nhỏ từ 2% – 4%

Index is not useful when:
– Bảng nhỏ, chứa ít dữ liệu
– Cột ít được sử dụng trong điều kiện WHERE
– Hầu hết các câu queries sẽ lấy dữ liệu trả về lớn hơn 4%
– Bảng thường xuyên được cập nhật
– Cột được index được sử dụng như một tham chiếu trong biểu thức
(Note: con số % thì có thể tuỳ theo database)

Như vậy câu trả lời “x biết” là đúng. Bạn chỉ trả lời nhanh hay chậm khi bạn nhìn vào một câu lệnh cụ thể. Is it right, guys?

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: