PHP& MySQL:复杂查询

时间:2018-01-29 06:27:33

标签: php mysql

哪种方法更好:

  1. PHP或<; li>发送复杂的选择查询
  2. MySQLen中创建它的视图,函数和存储过程 请求他们?
  3. 例如,我有这些表:

    1. 语言(id,代码,名称);
    2. country(id,code,name);
    3. region(id,ctry_id,code,name);
    4. city(id,rgn_id,code,name);
    5. 公司(id,cty_id,增值税,电话,电子邮件,网址);
    6. cnt_lng(id,ctry_id,lng_id,translated_name);
    7. rgn_lng(id,rgn_id,lng_id,translated_name);
    8. cty_lng(id,cty_id,lng_id,translated_name);
    9. cmp_lng(id,cmp_id,lng_id,name,info)。
    10. 我想选择这些信息:

      按定义的语言划分的国家,地区,城市和公司详细信息,例如SELECT ctry_lng.translated_name, rgn_lng.translated_name, cty_lng.translated_name, cmp.phone, cmp.email, cmp.url, cmp_lng.name, cmp_lng.info FROM language AS lng, country AS ctry, region AS rgn, city AS cty, company AS, cmp, cmp_lng, ctry_lng, rgn_lng, cty_lng WHERE lng.code = "en" AND ctry_lng.lng_id = lng.id AND ctry_lng.ctry_id = ctry.id AND rgn.ctry_id = ctry.id AND rgn_lng.rgn_id = rgn.id AND rgn_lng.lng_id = lng.id AND cty.rgn_id = rgn.id AND cty_lng.cty_id = cty.id AND cty_lng.lng_id = lng.id AND cmp.cty_id = cty.id AND cmp_lng.cmp_id = cmp.id AND cmp_lng.lng_id = lng.id ORDER BY cmp_lng.name ASC;

      这是我的疑问:

      PHP
        

      上面的查询是我要从MySQL发送到的   PHP。或者我应该创建一个视图,一个函数或一个存储过程   然后将查询从MySQL发送到sort()名称。

      无论如何,

      谢谢!

1 个答案:

答案 0 :(得分:1)

查询的性质似乎并不复杂。存储过程和视图与优化此查询无关,您可以阅读关于它们的更多信息in this answer