私はこのクエリを持っています:
SELECT
cms_mod_lajmet_entry.LajmID,
page_id, date,
foto, eshte_video,
title, intro,
komente
FROM cms_mod_lajmet_entry, cms_mod_lajmet_entry_language
WHERE cms_mod_lajmet_entry.LajmID = cms_mod_lajmet_entry_language.LajmID
AND cms_mod_lajmet_entry.page_id = 2
AND cms_mod_lajmet_entry.publikimi = 1
AND cms_mod_lajmet_entry_language.language = 'sq'
AND cms_mod_lajmet_entry.renditja > 0
ORDER by renditja ASC, date DESC LIMIT 1
(読み込み時間 = 0.1219)
それらを分割すると:
SELECT
LajmID,
page_id,
date,
foto,
eshte_video,
komente
FROM cms_mod_lajmet_entry
WHERE cms_mod_lajmet_entry.page_id = 2
AND cms_mod_lajmet_entry.publikimi = 1
AND cms_mod_lajmet_entry.renditja > 0 ORDER by renditja ASC, date DESC LIMIT 1
(読み込み時間 = 0.0801)
これだけをクエリします: ($t[LajmID] は最後のテーブルの PrimaryID です)
SELECT
title,
intro
FROM cms_mod_lajmet_entry_language
WHERE LajmID = $t[LajmID]
AND language = 'sq'
(ロード時間 = 0.0006)
合計: 0.1219 > 0.0807 (0.0801 + 0.0006)。
これは見た目が本当に速いですか、および/または他のより速い方法があるかどうか。
インデックスは次のとおりです。
最初のテーブル:
LajmID BTREE いいえ いいえ LajmID 36380 A
page_id 36380 A
publikimi 36380 A
klika 36380 A
2 番目のテーブル:
LajmID BTREE いいえ いいえ LajmID 38456 A
言語 38456 A