SQL-иш: как превратить огромный код в элегантный? - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть только одна таблица abhorrend, без индекса, без ключей, без идентификаторов, без порядка, 25 столбцов, 19 миллионов строк.Я использую язык SQL с именем TaQL («Язык запросов таблиц»).

Мне нужно выбрать откуда-то ... Звучит без проблем!Однако условия WHERE - это 1683 набора простых условий:

set#1: columnA>num1 and columnB>num2 and columnC<num3 and columnD>=num4 ...
or
set#2: columnA>num189 and columnB>num274 and columnC<num321 and columnD>=num457 ...
or
set#n: ...
or
set#1683: ....

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

Есть ли элегантный способ уменьшить такой огромный код?

1 Ответ

0 голосов
/ 08 февраля 2019

Вы когда-нибудь пробовали подход к созданию нового формата данных, DID имеет некоторую нормализацию, чтобы вы могли импортировать в свою собственную базу данных, затем вы можете добавить индексы, очистить критерии и т. Д. Возможно, даже добавив новый столбец вконец вашей таблицы (или столбцов) как «KeepThis».

Затем примените обновление YourTable, установите KeepThis = 1, где ваши критерии .. возможно, даже установите значение, равное условию, которому оно соответствует.Затем вы можете выполнить запрос на основе этих значений или даже всех тех, которые НЕ присвоены значению, и посмотреть, есть ли заслуга в этих записях, которые ранее не были реализованы.чтобы предварительно помечать вещи и в базе данных вы можете управлять другим источником.

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