Сверка по содержимому двух полей
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Сверка по содержимому двух полей
Есть программа (Clarion) которая синхронизируется с БД сайта по справочнику товаров, наполнение происходит из программы,
есть поле (STRING 4096) в программе - характеристики, которые написаны в html, специально для сайта.
Как быстро проверить (сверить) содержимое одного поля в программе с таким же полем на сайте?
Структуры БД программы и сайта разные.
Спасибо за внимание.
есть поле (STRING 4096) в программе - характеристики, которые написаны в html, специально для сайта.
Как быстро проверить (сверить) содержимое одного поля в программе с таким же полем на сайте?
Структуры БД программы и сайта разные.
Спасибо за внимание.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
- Игорь Столяров
- Ветеран движения
- Сообщения: 8077
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Сверка по содержимому двух полей
Ну это придумано давно и не нами.
В обоих системах нужно добавить поле с хеш-функцией и очень быстро сравнивать (в т.ч. индексировать)
именно поле с хеш-функцией, а не гигантские строки ...

Make Clarion Great Again ! 
Игорь Столяров
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Сверка по содержимому двух полей
Спасибо Игорь. Ну, а вдруг уже появилось что то экстраординарное. Все меняется )
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
Сверка по содержимому двух полей
Э... 4К байтов это гигантская строка? Где мой модем на 33600 бит...
В последней программе, крепко подумав, просто сохранил дату и время создания/обновления записи.
Совпадают - значит, оно.... Или не оно ?
В последней программе, крепко подумав, просто сохранил дату и время создания/обновления записи.
Совпадают - значит, оно.... Или не оно ?
Yufil
- Игорь Столяров
- Ветеран движения
- Сообщения: 8077
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Сверка по содержимому двух полей
Для сравнения, индексирования и поиска в БД - да, 4K это большая строка.

4K - это примерно страница A4 текста не жлобским шрифтом.
В TPS и Btrieve точно не получиться создать индекс по строке в 4K, как в SQL - не знаю ...
Make Clarion Great Again ! 
Игорь Столяров
Сверка по содержимому двух полей
Как-то не очень внятно поставлена задача. Зачем надо индексировать записи по списку характеристик?
Yufil
- Игорь Столяров
- Ветеран движения
- Сообщения: 8077
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Сверка по содержимому двух полей
Никто не говорил, что надо ...

Просто если в БД хранятся большие (4K) строки нужно быстро их найти (синхронизировать)
по неким другим аналогичным строкам - то проще всего это сделать создав и проиндексировав хеш строки.
Теперь берём хеш от строки запроса и делаем GET по индексу хеша строки в БД - и узнаём есть у нас эта строка или нет.

Make Clarion Great Again ! 
Игорь Столяров
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
Сверка по содержимому двух полей
Хочу уточнить у меня не строки, а поля, так строки БД разныеИгорь Столяров писал(а): 07 Декабрь 2020, 11:18 Просто если в БД хранятся большие (4K) строки нужно быстро их найти (синхронизировать)
по неким другим аналогичным строкам - то проще всего это сделать создав и проиндексировав хеш строки.
Теперь берём хеш от строки запроса и делаем GET по индексу хеша строки в БД - и узнаём есть у нас эта строка или нет.![]()

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
- Игорь Столяров
- Ветеран движения
- Сообщения: 8077
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Игорь Столяров
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)