|   |   | 
| 
 | запрос в цикле против НайтиПоРеквизиту | ☑ | ||
|---|---|---|---|---|
| 0
    
        pessok 28.08.11✎ 20:01 | 
        Товарщи, доброго времени суток. Вот возник вопрос:
  Есть ТЗ в которой порядка 30000 строк. Как лучше осуществить ее сравнение со справочником? Я вижу 2 варианта, но уверен, что не вижу оптимального... 1) При каждой итерации ТЗ делать запрос и проставлять параметром некое значение из ТЗ 2) При каждой итерации искать элемент справочника по реквизиту. Итак вопрос: "Что отработает быстрее, и если существует более действенный в плане скорости вариант, то подскажите его :)" | |||
| 1
    
        Rie 28.08.11✎ 20:03 | 
        (0) Засунуть ТЗ во временную таблицу и сопоставить со справочником одним запросом?     | |||
| 2
    
        jump if zero 28.08.11✎ 20:04 | 
        внутреннее соединение     | |||
| 3
    
        pessok 28.08.11✎ 20:07 | 
        (1) думал об этом, но не пойму как осуществить в моем случае.
  (2) эм? | |||
| 4
    
        Rie 28.08.11✎ 20:09 | 
        (3) А в чём именно проблема?     | |||
| 5
    
        pessok 28.08.11✎ 20:23 | 
        (4) проблем нету, просто хочу найти максимально быстрое решение     | |||
| 6
    
        izekia 28.08.11✎ 20:25 | 
        (5) тебе его в (1) озвучили     | |||
| 7
    
        pessok 28.08.11✎ 20:31 | 
        (6) угу, пробую сделать. волнует только вопрос, насколько вырастет производительность... Ну допишу, проверю, в любом случае
  (1) Спасибо | |||
| 8
    
        Armando 28.08.11✎ 20:53 | 
        (7) 1 запрос vs 30000 запросов     | |||
| 9
    
        pessok 28.08.11✎ 21:09 | 
        мгм. походя того, как я начал разбираться с временными таблицами, возник вопрос.
  Я так понимаю, что все данные в ТЗ, которая будет помещена во временную таблицу должны быть строго типизированы? | |||
| 10
    
        EvgeniuXP 28.08.11✎ 21:11 | 
        (0) отладчиком замерь.     | |||
| 11
    
        pessok 28.08.11✎ 21:13 | 
        (10) да временная таблица - лучший вариант. Вот разбираюсь с ней :)     | |||
| 12
    
        izekia 28.08.11✎ 21:14 | 
        (9) типы у колонок должны быть прописаны     | |||
| 13
    
        pessok 28.08.11✎ 21:15 | 
        (12) угу, это я понял уже. второй вопрос:
  обязательно ли задваить выбор? 
  | |||
| 14
    
        izekia 28.08.11✎ 21:21 | 
        (!3) а что ты понимаешь под задвоением выбора?
  и проще делай все в одном запросе - после текста первого точку с запятой и второй запрос | |||
| 15
    
        pessok 28.08.11✎ 21:25 | 
        (14) я в одной запросе и делаю, через точку с запятой. Задваивание в моем понятии то, что сначала я в пермо запросе выбираю данные из ТЗ, потом во втором выбираю теже данные, но уже соединенные... Хотя да, туплю, надо...
  Вот еще неимоверно глупый вопрос, а как задать в колонку строку длиной 25? Делаю ТаблицаЗагруженныхТоваров.Колонки.Добавить("АртикулТовара", Новый ОписаниеТипов(Новый КвалификаторыСтроки(25))); не отрабатывает в запросе, неизвестный тип... | |||
| 16
    
        pessok 28.08.11✎ 21:29 | 
        (15) был невнимателен, каюсь. вопрос отпал. Сейчас, если дойду до точки останова, буду смотреть что и как :)     | |||
| 17
    
        pessok 28.08.11✎ 21:32 | 
        это, а впроцедурах &НаСервере бряки не работают, чтоль?..     | |||
| 18
    
        Armando 29.08.11✎ 08:11 | 
        Еще можно нужную колонку выгрузить в массив и передать в запрос в качестве параметра.     | |||
| 19
    
        Sammo 29.08.11✎ 08:25 | 
        Кстати, еще вопрос - откуда взялась таблица, может можно сделать сравнение на исходных данных     | |||
| 20
    
        Sammo 29.08.11✎ 08:26 | 
        (17) Точки останова работают на сервере, если сервер запущен в режиме отладки     | |||
| 21
    
        pessok 29.08.11✎ 10:31 | 
        (18) с временными таблица получился ЗНАЧИТЕЛЬНЫЙ прирост производительности.
  (19) к сожалению нельзя, тз берется из скульной базы на сайте (20) ясно, спасибо | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |