[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сравнение чисел по БД
nike90
Здравствуйте.

Есть интересная задача которую нужно реализовать с минимальным расходом серверного ресурса.

Суть задачи в следующем, в БД есть 1000 записей и будет увеличиваться,
структура пока что такая, можно её перестроить при нужде:

ID - INT(11), NUMBERS - TEXT

даные:

1: 12,42,-91,-97,-8,-99,-27,-47,-88,47
2: 8,-50,27,-95,72,39,87,-67,84,66
3: 0,19,67,58,100,-54,21,25,76,-23

и т.д., набор чисел 10, не больше не меньше. Значение чисел может быть от -100 до 100.

Теперь у нас есть строка (или можно сделать массив) чисел (так же 10):

88,-35,99,-9,44,-55,80,-25,-71,20

с которой нужно взять все числа и отнять от чисел первой записи в БД, в порядке их строения, то есть первое от первого, второе от второго ... десятое от десятого, если разница каждого числа составит |5| по модулю (то есть все равно с каким знаком - или +) то эта запись нам подходит. И так нужно сравнить строку со всеми записями в БД, и получить только те которые нам подходят .

Можно сравнивать как MySQL запросами, так и выбрать все записи и сравнивать PHP, вообщем нужен оптимизированный алгоритм.

За ранее спасибо за помощь.




Valick
nike90, я вам лучше вариант предложу
уволить проектировщика БД (первая мысль была расстрелять, но я добрый)
Цитата
Есть интересная задача

поверьте таких интересных задач, через одного у начинающих программистов, которые учатся по видеокурсам, а не как положено.
В ячейке не должно быть значений через запятую.

_____________
Стимулятор ~yoomoney - 41001303250491
nike90
Valick:

Структура БД еще не спроектирована, здесь я привел как пример, но можно сделать 10 ячеек для каждого значения.

Суть задачи найти оптимальный алгоритм для сравнения.
Valick
nike90, не можно сделать, а нужно сделать, в соответсвии с первыми тремя законами нормализации БД.
Оптимальным решением будет алгоритм на уровне СУРБД


_____________
Стимулятор ~yoomoney - 41001303250491
bestxp
Цитата (Valick @ 3.04.2014 - 12:42)

В ячейке не должно быть значений через запятую.

в одной ячейке может быть несколько значений, но не через запятую, а в массиве,
если конечно выбрана норм бд типа постгреса или оракла, там это норм

поэтому попробуй в их сторону посмотреть
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.