Vâng ...
- Trước tiên, bạn phải kiểm tra cú pháp, tiếp theo là việc tạo ra một cây biểu hiện - ở giai đoạn này bạn cũng có thể kiểm tra xem các yếu tố tồn tại và "xếp hàng" (tức là các lĩnh vực có tồn tại TRONG bảng). Đây là bước đầu tiên - bất kỳ lỗi nào ở đây bất kỳ bạn chỉ yêu cầu người gửi thực hiện.
- Sau đó, yo có .... phân tích. Một truy vấn SQL khác với một chương trình ở chỗ nó không nói LÀM THẾ NÀO để làm điều gì đó, chỉ là NHỮNG KẾT QUẢ LÀ GÌ. Đặt logic dựa. Vì vậy, bạn nhận được một bộ phân tích truy vấn trong (tùy thuộc vào sản phẩm xấu để tốt - oracle dài thời gian mũ crappy những người, DB2 những người nhạy cảm nhất ngay cả đo tốc độ đĩa) để quyết định cách tốt nhất để tiếp cận kết quả này. Đây là một con thú thực sự phức tạp - nó có thể thử hàng chục hoặc hàng trăm phương pháp tiếp cận để tìm một người mà ông tin là nhanh nhất (dựa trên chi phí, về cơ bản một số thống kê).
- Sau đó, việc đó sẽ được thực thi.
Trình phân tích truy vấn, bằng cách này, là nơi bạn thấy sự khác biệt lớn. Không chắc chắn về MySQL - SQL Server (Microsoft) tỏa sáng ở chỗ nó không có cái tốt nhất (nhưng một trong những cái tốt), nhưng nó thực sự có các công cụ trực quan đẹp để HIỂN THỊ kế hoạch truy vấn, so sánh các ước tính của máy phân tích nhu cầu thực sự (nếu chúng khác nhau quá nhiều bảng thống kê có thể được tắt để phân tích THINKS một bảng lớn là nhỏ). Họ trình bày trực quan một cách độc đáo.
DB2 có trình tối ưu hóa tuyệt vời trong một khoảng thời gian, đo - tôi đã nói - tốc độ đĩa để đưa nó vào ước tính của nó. Oracle đã đi "trái sang phải" (không phân tích thực) trong một thời gian dài, và đưa ra gợi ý truy vấn do người dùng cung cấp (cách tiếp cận crap). Tôi nghĩ rằng MySQL là VERY nguyên thủy quá trong đầu - không chắc chắn nơi nó là bây giờ.
Định dạng bảng trong cơ sở dữ liệu, v.v. - đó thực sự là điều bạn không nên quan tâm. Đây là tài liệu (rõ ràng, đặc biệt là cho một cơ sở dữ liệu mã nguồn mở), nhưng tại sao bạn nên quan tâm? Tôi đã thực hiện công việc SQL trong gần 15 năm hoặc lâu hơn và không bao giờ có nhu cầu đó. Và điều đó bao gồm làm công việc kết thúc khá cao ở một số khu vực. Trừ khi bạn cố gắng xây dựng một công cụ sửa chữa tập tin cơ sở dữ liệu .... nó không có ý nghĩa để làm phiền.
Đó là một câu hỏi lớn! –
Không phải là câu trả lời cho mỗi người, nhưng đây là cách nó hoạt động ở mức cao trong Oracle. http://www.idevelopment.info/data/Oracle/DBA_tips/Tuning/TUNING_10.shtml – JavaRocky
Bạn có thể cung cấp sản phẩm cụ thể mà bạn dự định không? SQL Server, MySQL, Oracle, v.v. –