powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
25 сообщений из 27, страница 1 из 2
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36444741
ILoveTecDoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень часто я слышу вопросы об оптимизации базы данных TecDoc Transbase в MySQL, мол почему так много весит база сконвертировання в MySQL (TecDoc-14Гб=MySQL-50Гб), а как там обстоит дело с индексами, конвертируются ли они при помощи вашего скрипта.

Сразу отмечу: Transbase (на которой стоит TecDoc) это не MySQL, и способ организации данных, индексирование у него отличается от способа хранения данных в MySQL. А отсюда и все различия.

Второе, это то что TecDoc это не такая себе "серебряная пуля" или "панацея от всех болезней", его тоже разрабатывают люди, и в нем тоже есть ошибки: ошибки в кросах, ошибки в программе, ошибки в базе. ТекДок не универсален (как и все в этом сером мире :) ), многое в нем заложено на будущее, многое используется не очень редко или вообще не используется.

А посему база ТекДок в том виде, в котором она есть и конвертируется требует оптимизации под задачи клиента
(Можно конечно заюзать базу так как она есть, купить выделенный сервер, залить 50-ти гиговую базу, написать свою оболочку и радоватся жизни, но смысл? )

Перед использованием базы данных ТекДок в своем приложении (инет магазине) клиент а соответственно разработчик, которого он нанимает, должны задать себе ряд вопросов:

1) что собой будет представлять проект: интернет магазин, оф-лайновый стол заказов, каталог запчастей
2) для кого проект предназначен (категория потребителей: авто-мастера, розничные покупатели, оптовики, менеджеры продаж....)
3) определение границ проекта
4) График выполнения работ
5) ВАЖНО! БЮДЖЕТ! (это пожалуй один из самых важных вопросов)
6) Планы на будущее (т.е планируется развитие проекта, или нет)

А коль тема у нас оптимизация, расмотрим пример на таблице артикулов TOF_ARTICLES
В "сыром" виде эта таблица занимает 736,127Кб (в МБ переведете сами)

Простой поиск по аритикулу в этой "сырой" таблице выполняется достаточно долго как для веб-приложения - 19.20 сек. Как видим, даже для локальной машини такие показатели не подходят.

Давайте попытаемся немного оптимизировать эту таблицу.

Исходя из ее структуры, видим, что в поле ART_ARTICLE_NR хранятся сами артикули, и их мы будем искать очень часто, а значит это поле нужно сделать индексным.

Еще у нас есть поле ART_CTM - выясняем, что поле это не используется ТекДоком и заложено на будущее для оптимизации поиска или как бытует мнение на форумах для оптимизации поиска (возможно). Удаляем это поле из базы данных.

После этих нескольких нехитрых действий, получаем следующую картину

Как видим, база данных с индексами уже занимает 129,366 Кб, что практически на 600 мб меньше. И это только после 2-х простых действий.

Соответственно и запрос выполняется намного быстрее, сотые доли секунды

Картинки можно посмотреть здесь

Вот, так вот на примере только одной таблицы TOF_ARTICLES мы увидели как нужно "доводить до ума" нашу базу TecDoc
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36445744
Bacalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Exceptional,
без лишних слов.
но подскажите пожалуйста если можно наити применение таблице авторTOF_PRICE, насколько я понимаю, ето зашифрованные цены изделии, но может у кого-то наидутся другие идеи по этому поводу, т. к. мои региональный дилер текдок не может дать никаких деталии
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36445994
ILoveTecDoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bacalov,

Во первых таблицы
Код: plaintext
TOF_PRICE
в ТекДок за квартал 1 2010 -го года я не нашел. Есть только таблица
Код: plaintext
TOF_PRICES
и действительно, ТекДок делает к ней обращения в т.ч. и при поиске запчасти по артикулу, о чем свидетельствует "обрывок" оригинального запроса
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
eft outer join tof_des_texts ga_assembly_tex
				 on ga_assembly_des.des_tex_id nljoin ga_assembly_tex.tex_id 
left outer join tof_art_country_specifics
             on art_id = acs_art_id
            and  1  = acs_ctm subrange( 221  cast integer)
			 where tsd_id = - 1 
 7616 	Execute	 41989624 	Success	 0 , 00 	select pri_price,
			pri_currency_code,
			pri_art_id,
			pri_kv_price_type,
			tex_text price_unit,
         pri_discount_flag
	 from tof_countries
	 join tof_prices
		on (cou_currency_code is null or pri_currency_code = cou_currency_code) and
			pri_art_id in ( 359536 , 459047 , 459047 , 619721 , 637978 , 730608 , 828316 , 830356 , 1208112 , 1303426 , 1375172 , 1479983 , 1532652 , 1554743 , 1596130 , 1596212 , 1597466 , 1612565 , 1634720 , 1667702 , 1675085 , 1768070 , 1777505 , 1824231 , 1836056 , 1846226 , 1908450 , 1909426 , 1951261 , 1951261 , 2015570 , 2032114 , 2237350 , 2260318 , 2288945 , 2288945 , 2289950 , 2325120 , 2363546 ) and
			pri_ctm subrange( 221  cast integer) =  1  and
			pri_val_start <= currentdate and
			(pri_val_end is null or pri_val_end >= currentdate)
	 join tof_designations
		on des_id = pri_kv_price_unit_des_id and
			des_lng_id =  16 
	 join tof_des_texts
		on tex_id = des_tex_id
	where cou_id =  221 

Какая суть этой таблице, мне сейчас трудно сказать, но есть несколько предположений:
- ТекДок это только справочник и они (насколько я знаю) на данный момент не занимаются продажей запчастей, хотя наверное заложили эти возможности в свою программу
- те кто "вскрывают" ТекДок скорей всего не используют даную таблицу, потому что в том виде, в котором она представлена в текдоке она не подойдет для большинства задач реального бизнеса по продажи автозапчастей: для магазина нам интересно будет держать цену запчасти из прайсов нескольких производителей + свою, + возможные наценки, а это уже две и больш таблиц, а не одна, с ценами, как сейчас сделано в текдоке

Но это только мои предположения, буду копать в этом направлении, как нарою что то интересненькое сразу отпишусь
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36447467
elisay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ILoveTecDoc

А коль тема у нас оптимизация, расмотрим пример на таблице артикулов TOF_ARTICLES
В "сыром" виде эта таблица занимает 736,127Кб (в МБ переведете сами)



Не самая большая таблица.
Скажу так, сделать из текдока конфетку с маленьким размером не получится в любом случае.
Основные моменты для оптимизации размера базы - это поля _CTM.
Если надобность в них есть, то стоит подумать над заменой таких полей на более компактный вариант.
Еще одно узкое место, это картинки.
Также следует обратить внимание на таблицы TOF_DESIGNATIONS, TOF_TEXT
И на последок оптимизация самих запросов, так как в текдоке они слишком громоздки и не всегда быстры.
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36448220
ILoveTecDoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elisayILoveTecDoc

А коль тема у нас оптимизация, расмотрим пример на таблице артикулов TOF_ARTICLES
В "сыром" виде эта таблица занимает 736,127Кб (в МБ переведете сами)



Не самая большая таблица.
Да, не самая, но часто используемая, поскольку в ней хранятся артикулы, да и нужно же было взять какую то таблицу в качестве примера :)
Скажу так, сделать из текдока конфетку с маленьким размером не получится в любом случае.
100% к примеру EWA Mercedes занимает порядка 30 Гб дискового пространства, но суть заключается наверное в кросах а не хранении в базе неоптимизированного "муссора"
Основные моменты для оптимизации размера базы - это поля _CTM.
Если надобность в них есть, то стоит подумать над заменой таких полей на более компактный вариант.
в 90% случаев (исходя из моего опыта) эти поля не были востребованы
Еще одно узкое место, это картинки.

Также следует обратить внимание на таблицы TOF_DESIGNATIONS, TOF_TEXT
С текстовыми таблицами можно сделать так: удалить все тексты и записи в которых LNG_ID <> RUSSIAN или LNG_ID <> German или LNG_ID <> ENGLISH (заменить на соответствующие цифры)
И на последок оптимизация самих запросов, так как в текдоке они слишком громоздки и не всегда быстры.

от себя еще добавлю, что можно посмотреть в сторону memchased
На нем работает LiveJournal как видим успешно и достаточно быстро
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36449773
Bacalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ILoveTecDoc,

да. вы правы насщет названия.
сам предпологал что начали вливать цены т. к. они продаю также и "TecDoc WEB SHOP".
а вливать цены в одну таблицу - думаю что можно, основав поиск по номеру поставщика афтер макет
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36478431
thedes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а сколько будет весить база в MSSQL знаете?
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36482620
Фотография Мих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BacalovExceptional,
без лишних слов.
но подскажите пожалуйста если можно наити применение таблице авторTOF_PRICE, насколько я понимаю, ето зашифрованные цены изделии, но может у кого-то наидутся другие идеи по этому поводу, т. к. мои региональный дилер текдок не может дать никаких деталии

Эти прайсы сильно используются в Германиии. Узнал я про это (и не только только) когда германский клиент заказывал выгрузку данных.
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36498000
Миколай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где можно купить данные из ТекДока за 2010 год или хотя бы посмотреть сырые наработки как их оттуда в тот же Access перегнать?
Насчет таблицы цен, то для большинства задач одной таблицы с ценами будет маловато по этому с интересом бы посмотрел как они туда цены будут вливать.
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36498066
ILoveTecDoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Миколай,

Купить данные из ТекДока за квартал 1 2010 год можно здесь здесь а за квартал 4 2009 здесь Также можно скачать пример данных отсюда
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36498068
ILoveTecDoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thedesа сколько будет весить база в MSSQL знаете?
30 Гб - квартал 1 2009 год
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #36499780
Миколай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор ILoveTecDoc Соответственно и запрос выполняется намного быстрее, сотые доли секунды
А сколько выполняться будет запрос по неполному номеру при LIKE %НЕПОЛНЫЙ_НОМЕР%? Те же 19 секунд?
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37115523
Фотография mstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МиколайА где можно купить данные из ТекДока за 2010 год или хотя бы посмотреть сырые наработки как их оттуда в тот же Access перегнать?
Насчет таблицы цен, то для большинства задач одной таблицы с ценами будет маловато по этому с интересом бы посмотрел как они туда цены будут вливать.

Наша компания предлагает за 10% реферальских (вкладка "Партнерская программа") типовое решение магазина запчастей с текдоком http://www.mstarproject.com/?action=tecdoc_mysql_site

Примеры выполненных проектов в портфолио. Как вариант, если есть заказ, но не можете осилить полностью разработку.
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37219839
ILoveTecDoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кого интересует струкрута базы данных TecDoc 2_2011, можете скачать ее для ознакомления
Кому нужна база полностью, пишите в личку или стучите в асю 199195309
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37219871
Фотография Мих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ILoveTecDoc,

Да занимаюсь TecDoc вплотную обращайтесь :)
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37299900
EagleNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ILoveTecDocПростой поиск по аритикулу в этой "сырой" таблице выполняется достаточно долго как для веб-приложения - 19.20 сек. Как видим, даже для локальной машини такие показатели не подходят.


Очень спорный момент! В общем-то даже самый не продвинутый программист понимает что при поиске нужны индексы и тем не менее если их нет, то как TecDOC без них работает?! А все оказывается очень просто - искать надо не по ART_ARTICLE_NR да и вообще искать надо совершенно не в этой таблице.

Для поисков предназначена таблица TECDOC_TOF_ART_LOOKUP и поле ARL_SEARCH_NUMBER. Там все индексы созданы и присутствуют! А уже из этой таблицы получаем номер нужной нам детали.

Мало того. Если вы подумаете что, нафик такие сложности и решите не заморачиваться насчет таблицы TECDOC_TOF_ART_LOOKUP и вы создадите индекс в таблице TOF_ARTICLES по полю ARL_SEARCH_NUMBER, то это все равно не позволит вам всегда найти нужную деталь по ее номеру!

Если, при поиске, номер детали вы укажете например без пробелов 123456789, а в таблице он хранится как 123 456 789 (или через точки, тире или все вместе взятое), то никакой индекс и никакие танцы с %LIKE% не помогут. Нужно приводить все к единому стандарту.

В таблице TECDOC_TOF_ART_LOOKUP в поле ARL_SEARCH_NUMBER все номера указаны без пробелов, проводя по этому полю поиск и найдя нужную запись можно получить то, как этот номер должен выглядеть из поля ARL_DISPLAY_NR - там номер будет со всеми пробелами, точками, тире и прочим, а в поле ARL_ART_ID - как раз код нашей искомой детали из таблицы TOF_ARTICLES.

ILoveTecDocЕще у нас есть поле ART_CTM - выясняем, что поле это не используется ТекДоком и заложено на будущее для оптимизации поиска или как бытует мнение на форумах для оптимизации поиска (возможно). Удаляем это поле из базы данных.


Поля *_CTM используются во всех запросах TecDOC. Причем очень и очень интенсивно! Вот один из самых простых и коротких запросов TecDOC к своей БД:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT  tof_articles_b.art_article_nr
    FROM tof_articles tof_articles_a
    JOIN  tof_superseded_articles
     ON  tof_articles_a.art_article_nr nljoin sua_number
    AND  sua_ctm  subrange( 186  CAST INTEGER)= 1 
   JOIN  tof_articles tof_articles_b
     ON  sua_art_id  nljoin tof_articles_b.art_id and
         tof_articles_b.art_ctm subrange( 186  CAST INTEGER)= 1  and
			tof_articles_b.art_sup_id=tof_articles_a.art_sup_id
   WHERE tof_articles_a.art_ctm subrange( 186  CAST INTEGER)= 1  and
         tof_articles_a.art_id =  1746116 
   order by  tof_articles_b.art_article_nr

в пятой строке, восьмой, десятой строчках : ..._ctm subrange(186 CAST INTEGER)=1... - это и есть обращение к _CTM полю. Не многовато ли "ошибок" делают программеры TecDOC!!!

Не думаю что программеры TecDOC "ошибаются" или "недоглядывают" практически в каждом запросе. Надо разбираться. Давайте попробуем! ;)

Функция subrange получает из поля указанного перед ней символ в указанной позиции. В данном случае символ стоящий в строке на 186 месте. CAST INTEGER - это просто приведение к типу INTEGER.

То есть не слишком углубляясь в смысл запроса в целом можно сказать что из таблицы необходимо получить только те строки у которых в поле *_CTM на 186 месте стоит число 1.

Так вот в результате множества экспериментов убирая и возвращая обратно вызовы subrange(186 CAST INTEGER)=1 из разных запросов я с уверенностью могу сказать что результаты выполнения запросов в большом количестве случаев ОЧЕНЬ разные!

Так что будьте аккуратны с разными "оптимизациями" своих баз. Отсекать лишнее можно только после доооооолгого обдумывания! :)

P.S. Кстати текдоковцы выжимают из своего движка практически невозможное! :) Очень долго не мог понять почему после выгрузки данных в моей БД деталь не находится (точнее ее просто не существует) а если искать через программу TecDOC - она есть! :) Всю голову себе сломал! Оказалась очень хитрая фишка! :)
Например есть деталь - Деталь-1. У нее есть производитель - Производитель-1. Эта деталь с ID производителя хранится в таблице TOF_ARTICLES. А мы ищем Деталь-2. Она полный аналог Детали-1 со всеми ее характеристиками и прочим, но у нее ДРУГОЙ ПРОИЗВОДИТЕЛЬ. Так вот этой детали в таблице TOF_ARTICLES нет. Ее физически там нет!

А показывается она таким образом:
1. Ищем деталь по артикулу производителя № 2 в таблице TECDOC_TOF_ART_LOOKUP
2. Поле ARL_ART_ID ссылается на Деталь-1
3. ВНИМАНИЕ! А вот поле ARL_BRA_ID - показывает под каким соусом (то есть под каким производителем) эту деталь отдать.

В итоге: одна запись в БД олицетворяет 2 детали! )))))

P.S.S А по поводу быстродействия - я сменил движок БД и ПОЛНОСТЬЮ переосмыслил структуру данных. Так что если сейчас у меня запрос LIKE на 28 000 000 записей работает больше 500 милисекунд - я расстраиваюсь! Но это редкость! ))))))))))
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37299935
EagleNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BacalovExceptional,
без лишних слов.
но подскажите пожалуйста если можно наити применение таблице авторTOF_PRICE, насколько я понимаю, ето зашифрованные цены изделии, но может у кого-то наидутся другие идеи по этому поводу, т. к. мои региональный дилер текдок не может дать никаких деталии

TecDOC может выступать в качестве не только справочника, а так же стола заказов. То есть вы осуществляете подбор детали в программе, и тут же не отходя от кассы можете формировать "корзину" заказа по аналогии с интернет магазином.

После того как клиент сказал "Все! Мне больше ничего не надо!" вы должны сказать сколько стоит его заказ - правильно? Вот тут-то как раз и задействуется эта табличка. Потом эту "корзину" можете отправить своему поставщику для подвоза вам нужных деталей. (Но в России ни одного не встречал который этим реально пользуется!)

Хотя было бы неплохо привязать 1С к этому делу! :)
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37373859
e.s.l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Убедительная просьба помочь.

Подключаю TECDOC к сайту. Есть ощущение что получение дерева товарных групп делаю не правильно, так как на Denwere этот процесс занимает от 5 секунд, а на хостинге вообще валится в 504 Gateway Timeout.

Примечание: Из базы удалены все записи, CTM в нужной позиции не соответствует России, и так же удалены поля CTM за ненадобностью.

Помогите оптимизировать или поделитесь своим запросом, если не жалко.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
# функция составления скрипта для получения дерева групп товаров определенной группы
						 function  getliqr($aparent, $atyp) {
							$result = "SELECT DISTINCT TOF_SEARCH_TREE.STR_ID, TOF_SEARCH_TREE.STR_ID_PARENT, TOF_DES_TEXTS.TEX_TEXT
FROM (TOF_LINK_GA_STR INNER JOIN ((TOF_DESIGNATIONS INNER JOIN TOF_SEARCH_TREE ON TOF_DESIGNATIONS.DES_ID = TOF_SEARCH_TREE.STR_DES_ID) INNER JOIN TOF_DES_TEXTS ON TOF_DESIGNATIONS.DES_TEX_ID = TOF_DES_TEXTS.TEX_ID) ON TOF_LINK_GA_STR.LGS_STR_ID = TOF_SEARCH_TREE.STR_ID) INNER JOIN TOF_LINK_LA_TYP ON TOF_LINK_GA_STR.LGS_GA_ID = TOF_LINK_LA_TYP.LAT_GA_ID
WHERE (TOF_SEARCH_TREE.STR_ID_PARENT=$aparent) AND (TOF_SEARCH_TREE.STR_TYPE=1) AND (TOF_DESIGNATIONS.DES_LNG_ID=16) AND (TOF_LINK_LA_TYP.LAT_TYP_ID=$atyp)
ORDER BY TOF_DES_TEXTS.TEX_TEXT;";
							 return  $result;
						}
						
						# функция получения количества подгрупп в группе
						 function  getchcnt($aparent, $atyp) {
							$qr =  mysql_query ("SELECT COUNT(*) CNT FROM (SELECT DISTINCT TST.STR_ID, TST.STR_ID_PARENT, TOF_DES_TEXTS.TEX_TEXT
FROM (TOF_LINK_GA_STR INNER JOIN ((TOF_DESIGNATIONS INNER JOIN TOF_SEARCH_TREE TST ON TOF_DESIGNATIONS.DES_ID = TST.STR_DES_ID) INNER JOIN TOF_DES_TEXTS ON TOF_DESIGNATIONS.DES_TEX_ID = TOF_DES_TEXTS.TEX_ID) ON TOF_LINK_GA_STR.LGS_STR_ID = TST.STR_ID) INNER JOIN TOF_LINK_LA_TYP ON TOF_LINK_GA_STR.LGS_GA_ID = TOF_LINK_LA_TYP.LAT_GA_ID
WHERE (TST.STR_ID_PARENT=$aparent) AND (TST.STR_TYPE=1) AND (TOF_DESIGNATIONS.DES_LNG_ID=16) AND (TOF_LINK_LA_TYP.LAT_TYP_ID=$atyp)
ORDER BY TOF_DES_TEXTS.TEX_TEXT) QR");
							$row =  mysql_fetch_array ($qr);
							 return  $row["CNT"];
						}
						# функция составления дерева
						 function  gettree($aparent, $amfa, $amod, $atyp) {
							 if  ($aparent == '10001') { echo  '<ul class="mktree" id="parts">';}  else  { echo  '<ul>';}
							$qr =  mysql_query (getliqr($aparent, $atyp));
							 while  ($row =  mysql_fetch_array ($qr)) {
								 if  (getchcnt($row["STR_ID"], $atyp) <  1 ) {
									 echo  '<li id="'.$row["STR_ID"].'"><a href="/parts?MFA_ID='.$amfa.'&MOD_ID='.$amod.'&TYP_ID='.$atyp.'&STR_ID='.$row["STR_ID"].'">'.$row["TEX_TEXT"].'</a>';
									}  else  {
									 echo  '<li id="" onclick="expandToItem("parts","'.$row["STR_ID"].'");">'.$row["TEX_TEXT"];
									gettree($row["STR_ID"], $amfa, $amod, $atyp);
									}
								 echo  '</li>';
							}
							 echo  '</ul>';
						}
						
						# составление дерева
						 if  (($typ != '') && ($str == '')) {
							gettree('10001', $mfa, $mod, $typ);
						}


Заранее спасибо.
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37373860
Фотография Мих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
e.s.l,

ну так проверь на EPXLAINE и добавь нужные индексы
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37373863
e.s.l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мих,

TOF_LINK_LA_TYP возвращает 4615 записей "Using index; Using temporary; Using filesort", но не пойму по какому полю делать индекс.
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37374037
e.s.l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно было сделать индекс на STR_ID_PARENT таблицы TOF_SEARCH_TREE :)
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37431580
Dumitru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я хочу заказать результатов по группам. Пожалуйста, скажите мне, что таблицы должны допросить tecdocu.
Спасибо!
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #37764247
60-auto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблицы в чем используете Innodb ?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #38512572
Scor66
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подниму старую тему.
Я пытаюсь скачать некоторые данные в 1С. Все бы ничего, почти все нашел, но надо получить данные по диаметру цилиндра, ход поршня, степень сжатия.
Такие поля есть в таблице Engines, но запросом мне выдает везде 0. Если смотреть из самого тек дока - данные есть.
Предположение, что данные в другой таблице пока не подтвердилось - не могу найти ни одной подходящей таблицы, просмотрел все со ссылками на таблицу двигателей.
Может кто-то знает в чем фишка? Откуда и как вытаскивать эти данные?
База 02.2013.

Помогите кто разбирается в этом!
...
Рейтинг: 0 / 0
Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
    #38512590
Scor66
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, что навели на мысль, хоть и не ответили!
Так же отдельное спасибо за подробное описание полей с указанием типов - помогло понять проблему!

Короче, вышел из ситуации так:
(tof_ENGINES.ENG_DRILLING CAST varchar(10)) AS DRILLING
Возвращает строку!
Реально возвращает. Потом преобразуешь уже в 1С как хочешь.
PS. Пробовал умножить на 1000 и преобразовать в интеджер - не вышло.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Несколько слов об оптимизации БД TecDoc Transbase, сконвертированной в MySQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]