Mevcut bir MySQL tablosunu this cevabına göre çevirme sürecindeyim. Bu durumda ben menu_items uğraşıyorum ve aşağıdaki gibi benim tablo yapısı şimdi görünür: Çok dilli verilerin alınmasında bir geri dönüş uygulanması
-
menu_item_id
- id
- sort_position
- menu_item_translations
- menu_items
- dil ENUM ('n l', 'tr')
- etiket
- ipucu
şimdi ben yedek olarak bir dili kullanabilmesi, öyle bir şekilde bu tabloları JOIN bir yol arıyorum diğerinin kayıtlarını ararken.
standart sorgu böyle bir şey olurdu:
SELECT
*
FROM
menu_items mi
INNER JOIN menu_item_translations mit
ON mit.menu_item_id = mi.id
WHERE
mit.language = 'en';
Ama bir İngiliz menü öğesi bulunamamıştır durumunda son çare olarak 'nl' istiyoruz. Saklı prosedürlere fazla meraklı değilim, ama yapsam bunları kullanabilirim.
Çok fazla performans kaybı veya çirkinlik olmadan bu sorguda bir geri dönüş gerçekleştirmenin bir yolu var mı?