Tabela SQL com input de “lista” vs tabela SQL com uma linha para cada input

Eu tenho uma tabela Sqlite onde cada linha é a forma de:

 value, "a,b,c,d,e,f,g,h,i,j", value3, value4 

Onde minhas consultas procuram um par de valores, %b% usando LIKE . É mais eficiente em termos de tempo de consulta, em vez de ter uma tabela em que cada linha é uma permutação:

 value, a, value3, value4 ... value, j, value3, value4 

Para que minhas consultas agora sejam valor, b usando o operador = desta vez.

Como observação, o caso de uso em que estou interessado tem ~ 10.000 linhas atualmente, em que cada elemento “list” possui, em média, 8 inputs. Eu Sqlite tanto o Sqlite quanto o MySQL porque eu tenho um problema similar para ambos, um database com MySQL e Sqlite .

Onde minhas consultas procuram um par de valores,% b% usando LIKE. É mais eficiente em termos de tempo de consulta, em vez de ter uma tabela em que cada linha é uma permutação:

Definitivamente. Porque as consultas do tipo LIKE ‘% something%’ não podem usar índices . Então você olha ups vai ser muito lento. Se isso não for suficiente, você está usando praticamente um padrão anti RDBMS. mais detalhes aqui: Está armazenando uma lista delimitada em uma coluna de database realmente tão ruim assim?

Depois de dividir sua coluna “CSV” em colunas separadas, você pode ir mais além normalizando o database.