Jump to content
php.lv forumi

mysql vaicājums, vai pareizi...


goma smile

Recommended Posts

Ir divas tabulas..

 

1.

Id place slug un vēl kkādi lauki..

 

2. From_id To_id un vēl kkādi lauki..

 

un vaicājums izskatās šādi:

 

select

  loc_from.place AS place_from,

  loc_to.place AS place_to,

  loc_from.seo_slug AS seo_from,

  loc_to.seo_slug AS seo_to

from `red_seo`

 

left join red_loc AS loc_from

  on loc_from.id = `red_seo`.`from_id`

 

left join red_loc AS loc_to

  on loc_to.id = `red_seo`.`to_id`

 

where `red_seo`.`popular` = '1'

 

 

Jautājums vai es visu daru pareizi.. un kurus no šīem laukiem Index'ēt ?

Link to comment
Share on other sites

kāpēc left, nevis inner join? Tev tie from/to dati nav nepieciešami/var nebūt ieraksti db?

 

Jā sajaucu..

 

red_loc.id -> ir primary key vai pēc noklusējuma tas jau nav indeksējies...

 

vispār ar red_loc tabulai visbiežāk tiek izmantots id(Relācijās un tīri labot), un name lauks (Meklētājā).. a pārējās kollonās ir tīri info...

viņus abus nevajadzētu noindeksēt...

 

a kā vislabāk pārbaudīt vai rezultāts ir uzlabojies.. ?

Link to comment
Share on other sites

a kā vislabāk pārbaudīt vai rezultāts ir uzlabojies.. ?

 

Tā vispārīgi pieliekot (izpildot mysql konsolē) kverijam EXPLAIN ( https://dev.mysql.com/doc/refman/5.6/en/explain.html) :

 

EXPLAIN select loc_from.place AS place_from,  loc_to.place AS place_to,  loc_from.seo_slug AS se ...

.. tad mysql parādīs kur un kādus indeksus izmanto utt..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...