Sadovnikov
v.i.p.
Производительность теряется в случае сложных запросов. Так как в восьмерке от T-SQL оставили какие-то жалкие кусочки, на которые без слез смотреть невозжно...
Плюс, отсутствует полный доступ к базе. Например, я не могу создавать таблицы, нужной мне структуры, ХП-ки, триггеры и т.д.
Плюс, отсутствует полный доступ к базе. Например, я не могу создавать таблицы, нужной мне структуры, ХП-ки, триггеры и т.д.
Дима553
experienced
Не вижу нужды создавать триггеры динамически, природа триггера - быть статическим, привязанным к БД. А нехватка операторов языка запросов обходится использованием временных таблиц. Продемонстрируйте пример запроса на котором проверяли производительность
Sadovnikov
v.i.p.
Не вижу нужды создавать триггеры динамически, природа триггера - быть статическим, привязанным к БД.Ого. А поставьте себя на место админа БД, у которого 50-80 баз по филиалам. Он в каждой из них должен триггер ручками создать? И не забыть об этом. Угадаем, после какой по счеты базы он пойдет прогера бить?
А нехватка операторов языка запросов обходится использованием временных таблиц.Знаете, я почему-то начинаю сомневаться в том, что Вы на T-SQL что-то серьехно писали... Задам встречный вопрос - подскажите, как при помощи временной таблицы вы обойдете отсутсвие оператора RIGHT?
Продемонстрируйте пример запроса на котором проверяли производительностьТут я вообще умываю руки... Вы на полном серьезе считаете, что производительность системы можно "проверитЬ" одним запросом???
Дима553
experienced
- Да ладно о триггерах, их настроить достаточно в момент установки базы и от того как это автоматизировано в восьмерке или в семерке (установка триггера) - на производительность запроса не повлияет (вернее повлияет, но от того 7.7. это или 8..1 - ничего не зависит).
- Да у меня большой опыт T-sql, и прямые запросы из 7.7. я начал писать в 2003 г. используя модный тогда Rainbow, не понимаю чем вызваны ваши сомнения. Про строковые функции я согласен (если вы имели в виду тот right который строковый), но вообще то я имел в виду более глобальную тему недостатка запросов 1С 8.1, которая на мой взгляд существеннее, например связывания типа
select tab1.f1,tab1.f2, (select top 1 c.f3 from tab2 c where tab2.f1=tab1.f1)
from tab1
которые не осуществишь на восьмерке, но можно обойти временными таблицами.
А проблему с right я считаю несущественной, если приходится прибегать к таким строковым функциям как right - да еще и при этом терять производительность, то это недостаток разработки самой структуры БД, при необходимости уж можно добавить индексное поле которое будет содержать необходимый вычисленный результат этого right.
- Нет, просто у меня зародилось подозрение что потеря производительности происходит из-за неоптимального построения запроса, либо неоптимальной структуры БД, вот и хочу глянуть на какой нибудь ваш пример
- Да у меня большой опыт T-sql, и прямые запросы из 7.7. я начал писать в 2003 г. используя модный тогда Rainbow, не понимаю чем вызваны ваши сомнения. Про строковые функции я согласен (если вы имели в виду тот right который строковый), но вообще то я имел в виду более глобальную тему недостатка запросов 1С 8.1, которая на мой взгляд существеннее, например связывания типа
select tab1.f1,tab1.f2, (select top 1 c.f3 from tab2 c where tab2.f1=tab1.f1)
from tab1
которые не осуществишь на восьмерке, но можно обойти временными таблицами.
А проблему с right я считаю несущественной, если приходится прибегать к таким строковым функциям как right - да еще и при этом терять производительность, то это недостаток разработки самой структуры БД, при необходимости уж можно добавить индексное поле которое будет содержать необходимый вычисленный результат этого right.
- Нет, просто у меня зародилось подозрение что потеря производительности происходит из-за неоптимального построения запроса, либо неоптимальной структуры БД, вот и хочу глянуть на какой нибудь ваш пример
Sadovnikov
v.i.p.
Дима553
experienced
Занятно, хочу заметить что для задачи "Подбор элементов справочников с клавиатуры" можно было бы вместо использования текстовых функций (left right trim) сделать все гораздо производительней и интересней.
Идея в использовании текстового хэша для нечеткого поиска (не помню его точного названия, но это такой числовой код, что чем ближе друг к другу два разных текста, тем ближе друг к другу их числовые хэш коды) Далее для нужной таблицы завести индексное поле-скрытый реквизит, содержащее этот хэш код для текстового реквизита. И вуаля. пользователь вводит что нибудь типа "Халидей", вычисляется хэш код этого слова, ищется в некотором заданном диапазоне близкие коды в атблице и выдается результат типа "Холидей", т.е. система сама исправит "а" на "о". Ну или пользователь вводит "ООО Рога и Ко" а ему в ответ "Рога и Ко ООО" подсказывает система.
Идея в использовании текстового хэша для нечеткого поиска (не помню его точного названия, но это такой числовой код, что чем ближе друг к другу два разных текста, тем ближе друг к другу их числовые хэш коды) Далее для нужной таблицы завести индексное поле-скрытый реквизит, содержащее этот хэш код для текстового реквизита. И вуаля. пользователь вводит что нибудь типа "Халидей", вычисляется хэш код этого слова, ищется в некотором заданном диапазоне близкие коды в атблице и выдается результат типа "Холидей", т.е. система сама исправит "а" на "о". Ну или пользователь вводит "ООО Рога и Ко" а ему в ответ "Рога и Ко ООО" подсказывает система.
Sadovnikov
v.i.p.
А теперь быстродействие проверьте
Хотя бы на паре десятков тысяч записей в справочнике...
Хотя бы на паре десятков тысяч записей в справочнике...
Сейчас читают
А как и откуда люди узнают, что у них есть необычайные способности?
21200
75
Человек и человекоподобные ходячие мертвецы.
13894
57
Очень прошу помочь!!!
14621
80
Дима553
experienced
Учитывая, что вместо текстового поля и использования строковых функций, мы используем числовое поле, да еще и индексированное, то производительность должна увеличиться приблизительно в 10 раз
Sadovnikov
v.i.p.
А теперь посмотрите быстродействие не именно поиска, а всего механизма в целом...
Поверьте - мы много вариантов реализации рассматривали.
Поверьте - мы много вариантов реализации рассматривали.
Дима553
experienced
А разве это существенно, даже если вычисление хэш-кода занимает полсекунды, то пользователь заводит элемент в справочнике или заполняет форму поиска куда больше времени.
Сказаться это может только, если какой то обработкой потребуется сделать зачем то замену наименований во всем справочнике
Сказаться это может только, если какой то обработкой потребуется сделать зачем то замену наименований во всем справочнике
Дима553
experienced
В итоге разговор свелся к тому, что быстрее: напрямую обращаться к sql базе?, или через восьмерку?
Более того вы пытаетесь это еще и вывести на одиночных примерах.
Однако не забываем, что сама структура семерочной базы имеет недостаток в том что использует символьные идентификаторы, в то время как восьмерочная использует числовые. За счет этого у некоторых запросов в восьмерке наверняка будет преимущество в производительности
Более того вы пытаетесь это еще и вывести на одиночных примерах.
Однако не забываем, что сама структура семерочной базы имеет недостаток в том что использует символьные идентификаторы, в то время как восьмерочная использует числовые. За счет этого у некоторых запросов в восьмерке наверняка будет преимущество в производительности
Sadovnikov
v.i.p.
Однако не забываем, что сама структура семерочной базы имеет недостаток в том что использует символьные идентификаторы, в то время как восьмерочная использует числовые.Это Вы сейчас так пошутили?
CREATE TABLE [_Reference31] (
[_IDRRef] [binary] (16) NOT NULL ,
[_Version] [timestamp] NOT NULL ,
[_Marked] [binary] (1) NOT NULL ,
[_IsMetadata] [binary] (1) NOT NULL ,
[_Code] [nchar] (3) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[_Description] [nvarchar] (25) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[_Fld373] [nvarchar] (100) COLLATE Cyrillic_General_CI_AS NULL ,
PRIMARY KEY CLUSTERED
(
[_IDRRef]
) ON [PRIMARY]
) ON [PRIMARY]
Дима553
experienced
И что вы хотели этим сказать и где я пошутил. Та структура что вы показали - типичная структура восьмерки, я говорил о поле _IDRRef
Sadovnikov
v.i.p.
У меня больше просто нет слов...
Сдается мне, что дальнейшая дискуссия просто бессмысленна...
Сдается мне, что дальнейшая дискуссия просто бессмысленна...
АФМ
guru
Ладно Вам. Я на восьмерке (8.1 клиент - серверная) При канале в 1 мегабит спокойно сижу и работаю в рабочей базе, и все нормально работает и не тупит.
А 7.7 так может??? Без терминала!!!!
А 7.7 так может??? Без терминала!!!!
АФМ
guru
Как зачем, я например когда то работал в конторе у которой 12 филиалов. Весь товар шел на склад фирмы, и уже от туда отгружался в филиалы.
Филиалы решали сами что заказать, смотрели на остатки и в режиме реального времени делали заявки.
Или например приехал торговый агент на точку и тутже сформировал реализацию, на своем ноуте виде реальные остатки на складах.
Еще расписывать зачем??????
Применений этому масса.
Филиалы решали сами что заказать, смотрели на остатки и в режиме реального времени делали заявки.
Или например приехал торговый агент на точку и тутже сформировал реализацию, на своем ноуте виде реальные остатки на складах.
Еще расписывать зачем??????
Применений этому масса.
Как раз для задач, что вы описали (сформировать расходник, посмотреть остатки) - может. А в общем случае не может 7.7 быстро летать по той схеме что вы описали (запуск клиента через мбитный канал) Только восьмерка
Sadovnikov
v.i.p.
Для этого умные люди терминальный доступ и придумали.
Sadovnikov
v.i.p.
Ну может хватит уже такое писать, а? Чем по Вашему в данном случае семерка от восьмерки отличается?...
Дима553
experienced
Вы опять ко мне обращаетесь? Мы же вроде пришли к мнению что обсуждать нам что то не имеет смысла. Вы уж определитесь.
Если глянете на мой пост, то увидите что ТАКОЕ я совсем не вам писал
Если глянете на мой пост, то увидите что ТАКОЕ я совсем не вам писал
Sadovnikov
v.i.p.
Да какая разница, кому оно писалось... Сюда, ведь, заглядывают и такие люди, которые вообще в данном вопросе не разбираются. И могут взять Ваше высказывание на веру...
Если не по адресу, то направьте на путь истенный.
Вобщем не умею я в ПО ковыряться и после глюка с виндой вызвал специалистов . Объявление нашёлна НГС. т.3750454 или 923-775-04-54. Опустим лирику. В течении трёх дней мне несмогли настроить роутер, установили три винды, предварительно снеся лицензионную. Но суть притензии вот в чём. Когода после неоднократных обещаний всё исправить было принято решение отказаться от услуг этой конторки, жена позвонила туда и попросила вернуть деньги. Ответили дословно : Иди в ЖОПУ. И как полагается смелым парням бросили трубку. А потом не брали её вобще. Через 10 минут я позвонил со своего мобильника и попросил сообщить кто же там такой смелый? На что мне ответили , что трубку взял совершенно посторонний человек.
Ребят кто знает где находятся эти убогие, сдайте адресок, уж очень сатисфакции жаждеться.
Вобщем не умею я в ПО ковыряться и после глюка с виндой вызвал специалистов . Объявление нашёлна НГС. т.3750454 или 923-775-04-54. Опустим лирику. В течении трёх дней мне несмогли настроить роутер, установили три винды, предварительно снеся лицензионную. Но суть притензии вот в чём. Когода после неоднократных обещаний всё исправить было принято решение отказаться от услуг этой конторки, жена позвонила туда и попросила вернуть деньги. Ответили дословно : Иди в ЖОПУ. И как полагается смелым парням бросили трубку. А потом не брали её вобще. Через 10 минут я позвонил со своего мобильника и попросил сообщить кто же там такой смелый? На что мне ответили , что трубку взял совершенно посторонний человек.
Ребят кто знает где находятся эти убогие, сдайте адресок, уж очень сатисфакции жаждеться.
1Сники заполонили мир, они повсюду "СиПиПишники нервно курят в сторонке"
про религиозные войны ганс-спб хорошо сказал
чего-то я не понимаю, здесь rss работает?
да, работает только с некоторой задержкой в 1 2 3 минут
Подскажите к кому обратиться. Нужно создать страницу HTML, макет ( как в Дубль Гисе). Кто может сделать? не бесплатно
А чтобы программистом стать, интересно сколько нужно учиться ??? ))))
Я могу тебе в этом помочь...а вообще на счёт html страниц можно ведь найти порядочный готовый вариант, и переделать под свой! И ещё вопросик а почему именно как в дубльгисе?
Предупреждение за флуд
Предупреждение за флуд
Sadovnikov
v.i.p.
Это что за бот появился?
Всё может, но ничего не знает...
Всё может, но ничего не знает...
Artyshko
junior
Есть тут кто флешки рисовать умеет хорошо... есть подработка.
Ну просто не могу удержаться!
Интересно, кто узнает свой код, и кто быстрее всех скажет "ЧЕГО БЫЛО НАДО"??
Переменная $modelObject->created_at -- содержит дату (строка) создания объекта, остальное думаю понятно:
... я плякал...
Интересно, кто узнает свой код, и кто быстрее всех скажет "ЧЕГО БЫЛО НАДО"??
Переменная $modelObject->created_at -- содержит дату (строка) создания объекта, остальное думаю понятно:
<?php
$min = 0;
$dtCurrent = time();
$dtCreated = strtotime($modelObject->created_at);
$isWorkDay = false;
$d = '';
$t = $dtCreated;
while( $t < $dtCurrent )
{
$t += 60 * 5;
$h = (int)date('H', $t);
if( $d != ($date = date('Y-m-d', $t)) )
{
$d = $date;
$isWorkDay = $mediamDate->isWorkDay($d);
}
if( ($h >= 9) && ($h < 18) && $isWorkDay )
{
$min += 5;
}
}
?>
... я плякал...
... прошло 12 дней... так никто и не смог ответить "что это и зчем"... и не признался. Подожду ещё с недельку, потом выложу ответ.
P.S. просмотров на сейчас = 14506...
P.S. просмотров на сейчас = 14506...
ХочуСпросить
ЗооПрограммист
А смысл - пытаться понять чужую логику? Именно в контексте данного кусочка кода. Есть более интересные и важные занятия.
tolstopuz
v.i.p.
?!? даже как-то растерялся...
а смысл, тогда ваще искать решения каких-то задачек, смысл ваще работать программистом? Пошукал в инете, нашел похожий кусок, воткнул себе в прогу - бабки в карман... что не так работает? щас, другой найдем.
Ваще, какой смысл напрягать драгоценный мозги и работать программистом?
Ну, положим, мне было необходимо разобраться в силу задачи... Выложил, потому что принятое решение автором - уж сильно нетривиальное... для такой простой задачи, делать так - надо было водку курить... вот и интересно, кто ещё сможет понять что же надо было сделать автору этого куска кода...
Думаю, достаточно неплохое упражнение, для тех, кто хочет совершенствоваться в области программирования.
а смысл, тогда ваще искать решения каких-то задачек, смысл ваще работать программистом? Пошукал в инете, нашел похожий кусок, воткнул себе в прогу - бабки в карман... что не так работает? щас, другой найдем.
Ваще, какой смысл напрягать драгоценный мозги и работать программистом?
Ну, положим, мне было необходимо разобраться в силу задачи... Выложил, потому что принятое решение автором - уж сильно нетривиальное... для такой простой задачи, делать так - надо было водку курить... вот и интересно, кто ещё сможет понять что же надо было сделать автору этого куска кода...
Думаю, достаточно неплохое упражнение, для тех, кто хочет совершенствоваться в области программирования.
ХочуСпросить
ЗооПрограммист
Поиск решения реальной задачи и попытка понять, что же хотелось сказать этими строками кода, вырванными из контекста, тому самому сферическому программисту - очень разные вещи...
Подсчет доли рабочего времени в общем времени с момента создания объекта с точностью до 5 минут?
Не-а.
Хотя, именно этот кусок кода, можно принять для такой задачи (нафига это надо - другой вопрос)
... но там была другая: надо было найти все объекты в табличке БД, которые были созданы ранее чем за 2 рабочих часа от текущего момента.
Этот цикл гонялся каждые 5 минут, для всех объектов БД, выбираемым по ряду других условий... вместо того, чтобы сделать следующее:
1. Проверить прошло ли УЖЕ 2 часа от начала рабочего дня (если да - то тупо их вычесть, а если нет вычесть остаток из предыдущего рабочего дня) и, добавить в условие выборки вычисленную дату...
Хотя, именно этот кусок кода, можно принять для такой задачи (нафига это надо - другой вопрос)
... но там была другая: надо было найти все объекты в табличке БД, которые были созданы ранее чем за 2 рабочих часа от текущего момента.
Этот цикл гонялся каждые 5 минут, для всех объектов БД, выбираемым по ряду других условий... вместо того, чтобы сделать следующее:
1. Проверить прошло ли УЖЕ 2 часа от начала рабочего дня (если да - то тупо их вычесть, а если нет вычесть остаток из предыдущего рабочего дня) и, добавить в условие выборки вычисленную дату...
Я так-то извиняюсь, конечно, но где в этом куске про два часа накодировано?
Тоже приношу свои извинения, там оно було двумя строчками ниже, при копировании - ни попало... заметил не сразу.
Без этого, да можно считать что код подсчитывает количество рабочих часов с точностью до 5 минут с момента создания объекта по "сейчас". Но даже в этом варианте - очень похоже на проверку true/false по разнице в длинне слова.
Без этого, да можно считать что код подсчитывает количество рабочих часов с точностью до 5 минут с момента создания объекта по "сейчас". Но даже в этом варианте - очень похоже на проверку true/false по разнице в длинне слова.
Здравствуйте Новосибирцы! Хочу изучить программку 1С а именно программирование ее. Имею навыки работы на ней 1с:предприятие,склад,бухгалтерия.
Может быть что нибудь подскажете где могут и сертификат выдать и обучить хорошо Пасиб
Может быть что нибудь подскажете где могут и сертификат выдать и обучить хорошо Пасиб
ХочуСпросить
ЗооПрограммист
На любых курсах дадут только самые основы. Которые можно и самому прекрасно изучить.
А сертификат курсов можно на стенку повешать - вменяемый работодатель на него даже не посмотрит.
Может, стоит посмотреть в сторону работы у франчей? Тот же БиТ.
А сертификат курсов можно на стенку повешать - вменяемый работодатель на него даже не посмотрит.
Может, стоит посмотреть в сторону работы у франчей? Тот же БиТ.
craxx
рыжий котэ
ну почему, франь с радостью посмотрит... рейтинги, скидки и т.п.
DrAnimal
как-то так
... Тот же БиТ.За что Вы так жестоко? БиТ - торгаши.
ХочуСпросить
ЗооПрограммист
Так это не тот сертификат. На сколько я понимаю, эти франчу ничего не дадут.