|
|
|
| Всем привет, подскажите, как по быстродействию, и если можно, помогите оптимизировать
SELECT DISTINCT kirm.name as fna,fira.znk as znak,kirm.x as x,kirm.y as y,kirm.id as fid,adress,email,url,home,telefon
FROM uto,r_t,kirm
WHERE kirm.id=uto.id_firm and r_t.id_tovar=uto.id and kirm.registr=1
and id_rubrik IN (SELECT id FROM gr_new WHERE id_parent = ".intval($_GET['id'])." ORDER BY name asc) ORDER by fname asc
|
| |
|
|
|
|
|
|
|
для: Импекс
(20.07.2010 в 10:11)
| | А что, на форуме уже телепаты появились?
Как догадываться, какие поля от каких таблиц? Какие индексы где стоят?
ORDER BY во вложенном запросе - это просто праздник какой-то! | |
|
|
|
|
|
|
|
для: Trianon
(20.07.2010 в 10:32)
| | ORDER BY во вложенном запросе - это просто праздник какой-то!
а если необходимо отсортировать по Id вложенном запросе, или это не работает? | |
|
|
|
|
|
|
|
для: Trianon
(20.07.2010 в 10:32)
| | Надеюсь этого достаточно
uto(
id INT (11) Безнаковое
id_firm int (11)
.....)
r_t (
id int(10) Безнаковое
id_tovar int (11)
id_rubrik int(11)
)
kirm (
id int(10) Безнаковое
name varchar (255)
x int (11)
y int (11)
registr tynyint (4)
)
gr_new(
id int(11)
id_parent int(11)
)
|
основные условия kirm.registr=1 и id_rubrik = число и связь таблиц по полю kirm.id=uto.id_firm
что ищу: данные из таблицы kirm
и главный вопрос: как в этом запросе избавиться от Distinct
SELECT DISTINCT kirm.name as fna,fira.znk as znak,kirm.x as x,kirm.y as y,kirm.id as fid,adress,email,url,home,telefon
FROM uto,r_t,kirm
WHERE kirm.id=uto.id_firm and r_t.id_tovar=uto.id and kirm.registr=1
and id_rubrik IN (SELECT id FROM gr_new WHERE id_parent = ".intval($_GET['id'])." ORDER BY name asc) ORDER by fname asc
|
| |
|
|
|