Rumah > pangkalan data > tutorial mysql > JOIN lwn WHERE: Manakah yang Lebih Pantas untuk Pertanyaan Pangkalan Data dengan Hubungan Utama Asing?

JOIN lwn WHERE: Manakah yang Lebih Pantas untuk Pertanyaan Pangkalan Data dengan Hubungan Utama Asing?

Barbara Streisand
Lepaskan: 2024-12-31 13:36:11
asal
926 orang telah melayarinya

JOIN vs. WHERE: Which is Faster for Database Queries with Foreign Key Relationships?

SERTAI lwn. MANA: Manakah Lebih Cepat untuk Pertanyaan Pangkalan Data?

Dalam dunia pertanyaan pangkalan data, kelajuan adalah penting. Apabila anda mempunyai dua jadual yang dipautkan oleh kunci asing, seperti Document dan DocumentStats, anda mungkin tertanya-tanya sama ada menggunakan klausa JOIN atau WHERE lebih pantas untuk mendapatkan data.

Soalan:

Pertimbangkan pertanyaan berikut:

SELECT *
FROM Document, DocumentStats
WHERE DocumentStats.Id = Document.Id
  AND DocumentStats.NbViews > 500
Salin selepas log masuk

Pertanyaan alternatif menggunakan INNER SERTAI ialah:

SELECT *
FROM Document
INNER JOIN DocumentStats ON Document.Id = DocumentStats.Id
WHERE DocumentStats.NbViews > 500
Salin selepas log masuk

Pertanyaan yang manakah dilaksanakan dengan lebih pantas, atau adakah ia setara?

Jawapan:

Secara teorinya, kedua-dua pertanyaan harus dilaksanakan dengan sama pantas sebagai pengoptimum pertanyaan mengoptimumkan pelan pelaksanaan. Walau bagaimanapun, dalam praktiknya, enjin pangkalan data mungkin menghasilkan pelan pelaksanaan yang lebih baik untuk salah satu pertanyaan, terutamanya untuk operasi yang lebih kompleks.

Ringkasnya, adalah lebih baik untuk menguji kedua-dua pertanyaan pada enjin pangkalan data anda untuk menentukan yang mana satu berprestasi lebih baik . Walau bagaimanapun, anda boleh mengharapkan mereka mempunyai kelajuan yang setanding untuk pertanyaan mudah.

Atas ialah kandungan terperinci JOIN lwn WHERE: Manakah yang Lebih Pantas untuk Pertanyaan Pangkalan Data dengan Hubungan Utama Asing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan