PostgeSQL или MSSQL?

Новая тема
Показывать по 10 20 40 сообщений
В Вот такая ситуация. На предприятии более 40 машин. Стоит 1С8. Континент. В файловом режиме 1С умерла сразу, хотя работало одновременно человек 5, не больше (база средней величины). Поставили- с великими трудами Postges  . Конечно стало быстрее! Но.... тормозит. Справочник Траспортные средства (1С Бухгалтерия:Континент 8) тормозит жутко...  В общем, народ нервный, 1С-ке сопротивлялся итак как мог, а тут ещё такая фигня (ранее работали в Acces, но директору надоело, что страховые полисы в одном месте, а деньги в другом). Стали наезжать на меня (на генерального наезжать для здоровья не очень...особенно в условиях кризиса). ЧТО делать?
Прична задержки впрочем стала вырисовываться, когда выяснилось, что при работе 1С с  бесплатным Postgres-ом создаются одновременно около 10000 файлов (маленьких правда) и диск начинает бегать по ним. Потеря времени? Несомненно.  Хотя сам SQL конечно летает (например, при выполнении запроса, но только не из под 1С, а самостоятельно)
Скачали бесплатный на 180 дней MSSQL. Он работает с 1С по иному. Он создает ОДИН большой файл, и держит на диске - как ни странно, не в оперативке (сам не понимаю).  Конечно скорость раза В ТРИ увеличилась.
Вот так ! Кроме того, есть такой процесс, запускаемый 1С Агентом- rphost. Память жрёт при работе с Postgre!! - мама не горюй!
Это все я написал форумянам для информаци....
Добавлю. Тоже "для информации". Имеется 1С:Предприетие 7.7. Комплексная конфигурация на MS SQL Server 2000, весь софт легальный. База порядка 3Гб, учет ведется в базе несколько лет (не менее 4). Базу клиенты обрезать не дают, так как им удобно, когда все данные по предыдущим периодам есть в рабочей базе и всевозможные акты сверки и кадровые данные все под рукой. Делал очередное обновление, на следующий день начались проблемы... Разбирательство показало, что разработчик добавил ресурс в регистры ВзаиморасчетыПоставщиков и ВзаиморасчетыПокупателей с названием "ОценкаРуб", в который по умолчанию, само собой вписан 0. Но алгоритмы работы конфигурации уже вовсю пользуются этим ресурсом и при проведении возникают совершенно непонятные перерасчеты, связанные, дескать, с изменениями курса валюты. В общем, штатный рецепт в этом случае - перепровести документы, чтобы вместо нулей там появились ненудевые значения. Само собой, клиенты на перепроведение не согласны, это вылезет боком, да и по времени такое перепроведение займет кучу времени. Но фокус в том, что нужное значение для этого ресурса лежит в соседнем ресурсе "СуммаРуб", так как валютных операций просто не было. Взял я и с помощью SQL запроса записал в нужное поле имеющееся значение напрямую через SQL Enterprize manager. Я был поражен скоростью MS SQL Server-а. Для таблицы в 700к записей запрос выполнился за 1.8 секунды
Ну тогда давайте приведем примеры прямых запросов с помощью 1с++! У меня скорость проведения документов выросла в разы, когда переписал алгоритм проведения в комплексной!
Да, 1С++ хорошая штука, я через нее в 7.7 ActiveX прикрутил. Графики красивые в динамике, Drag&Drop, в общем, конфетка :). Жаль, что с .Net не дружит
а как писал? Что значит в нужное поле?
А мы отказались от Postgrees в пользу DB2 - надоело обновлять платформу и "движок" PG под каждую всплывающую ерунду. Да и документации по DB2 полно. Похоже, что PG это как раз отрицательный пример OpenSource-проекта.
"Если интересно напишу. На примере регистра "Поставщики". Имеется два ресурса - "СуммаРуб" и "ОценкаРуб". Нужно взять все из СуммаРуб и запихать в ОценкаРуб, так как они при проведении доков всегда совпали бы в любом случае из за наших допущений (отсутствие валютных операций).
Открываем каталог базы, ищем там файл словаря данных, для sql версии это 1cv7.dds, открываем его в Far manager или любом текстовом редакторе. Ищем по тексту "Поставщики" и находим, что имеется:
Регистр.Поставщики - таблица RG4314
Регистр (Дв.) Поставщики - таблица RA4314
Важно то, что имя таблицы может быть любым, его присваивает движок, причем не факт, что в двух однородных базах таблицы будут иметь одинаковое назначение. Все зависит от того как их обновляли (пропуская релизы или не пропуская).
Таблиц у нас две - это итоги и движения. Смотрим какой идентификатор в каждой таблице имеют нужные нам поля:
В RG4314 (таблица остатков):
СуммаРуб = SP4311
ОценкаРуб = SP39730
В RA4314 (таблица движений):
СуммаРуб = SP4311
ОценкаРуб = SP39730
Они видимо совпадут, но опять же не факт, что в двух разных базах они будут одинаковы.
Ну вот, все узнали. Открываем средство управления MS SQL Server-ом - MS SQL Enterprize manager. Там есть в меню SQL Query Analizer. Жмем его и пишем там нужный нам запрос:

UPDATE RG4314 SET RG4314.SP39730 = RG4314.SP4311;

выполняем, потом пишем:

UPDATE RA4314 SET RA4314.SP39730 = RA4314.SP4311;

и снова выполняем.
Таблицу Покупателей исправляем так же. В итоге без перепроведения доков я получил то, что хотел
"
Добрый день!

Огромное спасибо. Кое что поясняется. Однако у меня 8-ка. Там де искатьфайл словаря?
Мммм, напрямую в базе лучше не делать ничего, это исключительный случай :)
Понимаю. И все таки?
Читают тему
(гостей: 1)

Быстрый переход