Сверка по содержимому двух полей

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
gopstop2007
Полимат
Сообщения: 1745
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 15 раз
Поблагодарили: 10 раз

Сверка по содержимому двух полей

Сообщение gopstop2007 »

Есть программа (Clarion) которая синхронизируется с БД сайта по справочнику товаров, наполнение происходит из программы,
есть поле (STRING 4096) в программе - характеристики, которые написаны в html, специально для сайта.
Как быстро проверить (сверить) содержимое одного поля в программе с таким же полем на сайте?
Структуры БД программы и сайта разные.

Спасибо за внимание.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7691
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 69 раз

Сверка по содержимому двух полей

Сообщение Игорь Столяров »

gopstop2007 писал(а): 04 Декабрь 2020, 15:26 Структуры БД программы и сайта разные.
Ну это придумано давно и не нами.
В обоих системах нужно добавить поле с хеш-функцией и очень быстро сравнивать (в т.ч. индексировать)
именно поле с хеш-функцией, а не гигантские строки ... :) Как получить из строки хеш (SHA1 и т.д.) - много раз уже обсуждали.
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1745
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 15 раз
Поблагодарили: 10 раз

Сверка по содержимому двух полей

Сообщение gopstop2007 »

Спасибо Игорь. Ну, а вдруг уже появилось что то экстраординарное. Все меняется )
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Сверка по содержимому двух полей

Сообщение Yufil »

Э... 4К байтов это гигантская строка? Где мой модем на 33600 бит...
В последней программе, крепко подумав, просто сохранил дату и время создания/обновления записи.
Совпадают - значит, оно.... Или не оно ?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7691
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 69 раз

Сверка по содержимому двух полей

Сообщение Игорь Столяров »

Yufil писал(а): 06 Декабрь 2020, 18:28 Э... 4К байтов это гигантская строка?
Для сравнения, индексирования и поиска в БД - да, 4K это большая строка. ;)
4K - это примерно страница A4 текста не жлобским шрифтом.
В TPS и Btrieve точно не получиться создать индекс по строке в 4K, как в SQL - не знаю ...
Make Clarion Great Again ! 😎
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Сверка по содержимому двух полей

Сообщение Yufil »

Как-то не очень внятно поставлена задача. Зачем надо индексировать записи по списку характеристик?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7691
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 69 раз

Сверка по содержимому двух полей

Сообщение Игорь Столяров »

Yufil писал(а): 07 Декабрь 2020, 9:03 Зачем надо индексировать записи по списку характеристик
Никто не говорил, что надо ... :)
Просто если в БД хранятся большие (4K) строки нужно быстро их найти (синхронизировать)
по неким другим аналогичным строкам - то проще всего это сделать создав и проиндексировав хеш строки.
Теперь берём хеш от строки запроса и делаем GET по индексу хеша строки в БД - и узнаём есть у нас эта строка или нет. :)
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1745
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 15 раз
Поблагодарили: 10 раз

Сверка по содержимому двух полей

Сообщение gopstop2007 »

Игорь Столяров писал(а): 07 Декабрь 2020, 11:18 Просто если в БД хранятся большие (4K) строки нужно быстро их найти (синхронизировать)
по неким другим аналогичным строкам - то проще всего это сделать создав и проиндексировав хеш строки.
Теперь берём хеш от строки запроса и делаем GET по индексу хеша строки в БД - и узнаём есть у нас эта строка или нет. :)
Хочу уточнить у меня не строки, а поля, так строки БД разные :D
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7691
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 69 раз

Сверка по содержимому двух полей

Сообщение Игорь Столяров »

gopstop2007 писал(а): 07 Декабрь 2020, 15:16 Хочу уточнить у меня не строки, а поля
Какая в бане разница ? ;)
Make Clarion Great Again ! 😎
Ответить