8.х Как сделать быстрее поиск по справочнику?

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Ludmillka, 5 ноя 2013.

  1. TopicStarter Overlay
    Ludmillka
    Offline

    Ludmillka Опытный в 1С

    Регистрация:
    13 сен 2013
    Сообщения:
    159
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, есть у меня в базе справочник в котором аж 490311 элемент. Так вот искать по этому справочнику все очень-очень долго? Как можно сделать поиск по нему быстрее?
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    а база какая? Файловая или серверная? поиск как в потльзовательском режиме? Органиченеи прав на уровне записей есть?
  3. TopicStarter Overlay
    Ludmillka
    Offline

    Ludmillka Опытный в 1С

    Регистрация:
    13 сен 2013
    Сообщения:
    159
    Симпатии:
    0
    Баллы:
    26
    База Серверная, поиск в пользовательском режиме, ограничения прав на уровне записей нет.
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    реиндексацию проводите, перестроение индексов?
  5. TopicStarter Overlay
    Ludmillka
    Offline

    Ludmillka Опытный в 1С

    Регистрация:
    13 сен 2013
    Сообщения:
    159
    Симпатии:
    0
    Баллы:
    26
    Обязательно. Но при таком количестве элементов не особо помогает
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Как часто делаете?Перестроение индексов Раз в день?
  7. TopicStarter Overlay
    Ludmillka
    Offline

    Ludmillka Опытный в 1С

    Регистрация:
    13 сен 2013
    Сообщения:
    159
    Симпатии:
    0
    Баллы:
    26
    Может быть просто хоть какую-нибудь идейку подкинете, как жить дальше с таким тормозящим справочником? При всем-при этом он будет еще расти :unsure:

    Не раз в день, наверно раз в два-три дня получается.
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Вы что именно делаете и в какой переодичности просто есть Риблид индексов, а есть реорганайз?
  9. TopicStarter Overlay
    Ludmillka
    Offline

    Ludmillka Опытный в 1С

    Регистрация:
    13 сен 2013
    Сообщения:
    159
    Симпатии:
    0
    Баллы:
    26
    Только "реорганайз", а что делает Риблид?
  10. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    поиск по каким реквизитам делаете? реквизиты индексированные?

    фрагментация индексов какая?

    если плохо работает поиск по первым символам наименования, то прямо в sql сервере сделайте индекс только на поле наименования и ничего больше

    реорганизация индекса выстраивает записи индекса по порядку, не меняя страницы, на которых расположен индекс, ребилд фактически удаляет индекс и строит его заново на подряд идущих страницах базы
  11. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну как раз то реорганайз он так себе их делает. у Вас из за этого дефрагментация большая может быть. Хоть раз в день делайте перестроение индексов, в то время когда пользователи меньше всего систему нагружают. После перестроенииндексов как раз быстро работает. Ну и как сказал коллега все это быстро начинает работать по индексированным полям.
  12. TopicStarter Overlay
    Ludmillka
    Offline

    Ludmillka Опытный в 1С

    Регистрация:
    13 сен 2013
    Сообщения:
    159
    Симпатии:
    0
    Баллы:
    26
    Спасибо буду пробовать!
  13. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    ребилд индекса полностью блокирует таблицу на все время построения индексов, его стоит запускать, когда в базе совсем никого нет и при фрагментации индекса более 30% (если ребилды длительные и могут не успеть отработать в сервисное окно)
  14. TopicStarter Overlay
    Ludmillka
    Offline

    Ludmillka Опытный в 1С

    Регистрация:
    13 сен 2013
    Сообщения:
    159
    Симпатии:
    0
    Баллы:
    26
    Подскажите, а если фрагментация 10-11% стоит запускать ребилд?
  15. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Если есть возможность, то лучше запускать. на больших базах. бывает и по 4 раза в день запускают реиндекс и один или два раза ребил.
  16. TopicStarter Overlay
    Ludmillka
    Offline

    Ludmillka Опытный в 1С

    Регистрация:
    13 сен 2013
    Сообщения:
    159
    Симпатии:
    0
    Баллы:
    26
    Спасибо!
  17. Гриша
    Offline

    Гриша Опытный в 1С

    Регистрация:
    4 май 2008
    Сообщения:
    286
    Симпатии:
    5
    Баллы:
    29
    продолжу в тему
    вопрос именно спецам
    а каким образом делаете ребилд ?
    т.е. это в конифге вы запускаете тестирование и исправление ? и там галочки отмечаете

    или это как какая то обработка ?
    просто помню видел обработки по реиндексации
  18. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    если база sql то бэкапы и обслуживание индексов лучше делать средствами сервера баз данных - это дает больший контроль над процессом, ускоряет и дает возможность не выгонять пользователей из базы.

    ребилды настроить можно в ssms (sql server management studio), регламенты там буквально рисуются без написания кода. если нужны, конечно, особо хитрые регламеты, типа при фрагментации индексов до 10% мы их не трогаем, до 30% делаем реорганизацию, остальные ребилдим, тогда без кода обойтись не получится, но это нечастые вещи.

Поделиться этой страницей