Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.182.179] |
|
Сообщ.
#1
,
|
|
|
Подскажите, плз, что лучше использовать:
вложеные запросы или же желательно запрос писать линейно. Конкретнее - запрос формирует таблицу из двух БД, при этом по значениям колонок отсекает лишние. |
Сообщ.
#2
,
|
|
|
А зачем тебе понадобилось генерить таблицу в реальном времени ???
В принципе лучше не использовать вложенные запросы, они сильно замедляют производительность и не поддерживаются некоторыми БД (MySQL) Лучше перемножать таблицы: select table1.a, table1.b table2.a, table2.b from mytable1 as table1, mytable2 as table2 where table1.c=table2.d and table1.k=table2.m Работает быстрее. |
Сообщ.
#3
,
|
|
|
Я в принцыпе так и делаю, но хотелось уточнить. Где-то слышал, что вложенные вроде бы быстрее.
|
Сообщ.
#4
,
|
|
|
)) Все зависит от базы, некоторые быстрее делают одно, некоторые - другое.
Я в основном под My SQL пишу (но не из VC++, а из php и perl , а там вложенных нет. |
Сообщ.
#5
,
|
|
|
я бы еще посоветовал юзать join-стейтменты вместо where.
|
Сообщ.
#6
,
|
|
|
ansi sql. rtfm.
|
Сообщ.
#7
,
|
|
|
Народ, все зависит от запроса. Вот буквально недавно, переделав запрос с использованием JOIN (точнее, с использованием (+), на Oracle дело было) на запрос с использованием вложенного подзапроса, ускорил запрос раз в 10 как минимум.
|