Страница 1 из 1
					
				Сверка по содержимому двух полей
				Добавлено: 04 Декабрь 2020, 15:26
				 gopstop2007
				Есть программа (Clarion) которая синхронизируется с БД сайта по справочнику товаров, наполнение происходит из программы, 
есть поле (STRING 4096) в программе - характеристики, которые написаны в html, специально для сайта.  
Как быстро проверить (сверить) содержимое одного поля в программе с таким же полем на сайте? 
Структуры БД программы и сайта разные.
Спасибо за внимание.
			 
			
					
				Сверка по содержимому двух полей
				Добавлено: 04 Декабрь 2020, 15:51
				 Игорь Столяров
				gopstop2007 писал(а): 04 Декабрь 2020, 15:26
Структуры БД программы и сайта разные.
 
Ну это придумано давно и не нами.
В обоих системах нужно добавить поле с хеш-функцией и очень быстро сравнивать (в т.ч. индексировать)
именно поле с хеш-функцией, а не гигантские строки ... 

 Как получить из строки хеш (SHA1 и т.д.) - много раз уже обсуждали.
 
			 
			
					
				Сверка по содержимому двух полей
				Добавлено: 05 Декабрь 2020, 12:27
				 gopstop2007
				Спасибо Игорь. Ну, а вдруг уже появилось что то экстраординарное. Все меняется )
			 
			
					
				Сверка по содержимому двух полей
				Добавлено: 06 Декабрь 2020, 18:28
				 Yufil
				Э... 4К  байтов это гигантская строка? Где мой модем на 33600 бит... 
В последней программе, крепко подумав, просто сохранил дату и время создания/обновления записи. 
Совпадают - значит, оно.... Или не оно ?
			 
			
					
				Сверка по содержимому двух полей
				Добавлено: 06 Декабрь 2020, 18:52
				 Игорь Столяров
				Yufil писал(а): 06 Декабрь 2020, 18:28
Э... 4К байтов это гигантская строка?
 
Для сравнения, индексирования и поиска в БД - да, 4K это большая строка. 

4K - это примерно страница A4 текста не жлобским шрифтом.
В TPS и Btrieve точно не получиться создать индекс по строке в 4K, как в SQL - не знаю ...
 
			 
			
					
				Сверка по содержимому двух полей
				Добавлено: 07 Декабрь 2020, 9:03
				 Yufil
				Как-то не очень внятно поставлена задача. Зачем надо индексировать записи по списку характеристик?
			 
			
					
				Сверка по содержимому двух полей
				Добавлено: 07 Декабрь 2020, 11:18
				 Игорь Столяров
				Yufil писал(а): 07 Декабрь 2020, 9:03
Зачем надо индексировать записи по списку характеристик
 
Никто не говорил, что надо ... 

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

 
			 
			
					
				Сверка по содержимому двух полей
				Добавлено: 07 Декабрь 2020, 15:16
				 gopstop2007
				Игорь Столяров писал(а): 07 Декабрь 2020, 11:18
Просто если в БД хранятся большие (4K) строки нужно быстро их найти (синхронизировать) 
по неким другим аналогичным строкам - то проще всего это сделать создав и проиндексировав хеш строки.
Теперь берём хеш от строки запроса и делаем GET по индексу хеша строки в БД - и узнаём есть у нас эта строка или нет. 
 
Хочу уточнить у меня не строки, а поля, так строки БД разные  

 
			 
			
					
				Сверка по содержимому двух полей
				Добавлено: 07 Декабрь 2020, 15:23
				 Игорь Столяров
				gopstop2007 писал(а): 07 Декабрь 2020, 15:16
Хочу уточнить у меня не строки, а поля
 
Какая в бане разница ? 
