Почему бы не сохранить массив как BLOB-объект?
Маловероятно, чтобы кто-либо когда-либо кодировал «Где Acol999 = 42 или Acol1000 = 42 ...» в SQL, поэтому, если вы просто хотите сохранить и извлечь, чем хранить его как большой сгусток или большой двоичный объект в зависимости от ваших данных.
Это будет намного быстрее и потребует гораздо меньше кода.
Если вы действительно хотите запросить содержимое, то вам действительно нужна отдельная таблица с 1 - ОДНОЙ строкой на ячейку массива. После этого вы сможете сделать разумный запрос.
CREATE TABLE ARRAY_CELLS (
PARENT_ID INT NOT NULL,
INDEXNUM INT NOT NULL,
VALUEOF LONG NOT NULL
PRIMARY KEY(PARENT_ID,INDEXNUM)
);
Затем вы можете запускать запросы, такие как: -
SELECT PARENT_ID from TABLE_ARRAY_CELLS WHERE VALUEOF = 42 GROUP BY PARENT_ID;
Что даст вам список всех массивов, которые содержат значение 42.