Thomas Johnson Asked: 2014-03-18 11:01:26 +0800 CST2014-03-18 11:01:26 +0800 CST 2014-03-18 11:01:26 +0800 CST Índice MySQL para procurar valores NULL em campos de texto 772 Eu preciso fazer a consulta simples SELECT id FROM table WHERE blob_field IS NULL. blob_fieldé um longblob. Se eu criar um índice blob_fieldcom comprimento de prefixo 1, isso será suficiente para usar nesta consulta? mysql index 2 respostas Voted Best Answer Andrew G 2014-03-18T11:34:04+08:002014-03-18T11:34:04+08:00 Sim, um comprimento de prefixo de um permitirá que você tenha um índice de trabalho para procurar NULLs. Aqui está o SQLFiddle: http://sqlfiddle.com/#!2/12bf3/1/0 O EXPLAIN diz que está usando o índice desejado. É claro que você pode querer tentar um teste maior para garantir que ele funcione tão bem na realidade quanto você espera. Up_One 2014-03-18T11:15:59+08:002014-03-18T11:15:59+08:00 Por que você não faz assim: SELECT OCTET_LENGTH(blob_field ) FROM table WHERE predicate ;
Sim, um comprimento de prefixo de um permitirá que você tenha um índice de trabalho para procurar NULLs.
Aqui está o SQLFiddle: http://sqlfiddle.com/#!2/12bf3/1/0
O EXPLAIN diz que está usando o índice desejado.
É claro que você pode querer tentar um teste maior para garantir que ele funcione tão bem na realidade quanto você espera.
Por que você não faz assim: