На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела C/C++: Базы данных
Модераторы: B.V.
  
    > Вложеные SQL запросы
      Подскажите, плз, что лучше использовать:
      вложеные запросы или же желательно запрос писать линейно.
      Конкретнее - запрос формирует таблицу из двух БД, при этом по значениям колонок отсекает лишние.
        А зачем тебе понадобилось генерить таблицу в реальном времени ???
        В принципе лучше не использовать вложенные запросы, они сильно замедляют производительность и не поддерживаются некоторыми БД (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
        Работает быстрее.
          Я в принцыпе так и делаю, но хотелось уточнить. Где-то слышал, что вложенные вроде бы быстрее.
            :))) Все зависит от базы, некоторые быстрее делают одно, некоторые - другое.
            Я в основном под My SQL пишу (но не из VC++, а из php и perl :), а там вложенных нет.
              я бы еще посоветовал юзать join-стейтменты вместо where.
                ansi sql. rtfm.
                  Народ, все зависит от запроса. Вот буквально недавно, переделав запрос с использованием JOIN (точнее, с использованием (+), на Oracle дело было) на запрос с использованием вложенного подзапроса, ускорил запрос раз в 10 как минимум.
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0209 ]   [ 16 queries used ]   [ Generated: 18.04.24, 14:16 GMT ]