mysql is notnull 的一种优化方式(虚拟列)
公司业务需要查询有图片的文章,图片是用逗号隔开的,没有图片的文章是null表示,无法添加索引,在组合查询时非常慢,查询资料后发现可以添加虚拟列和虚拟列的索引来提升查询效率
alter table 文章表 add column 虚拟列 varchar(255) GENERATED ALWAYS AS (IFNULL(CHARACTER_LENGTH(图片地址字段),'0')) VIRTUAL;
使用 ifnull CHARACTER_LENGTH 函数 组合判断图片地址长度
```sql
SELECT * FROM 文章表 WHERE 条件1=* and 条件2 = * and 条件3 = * and 虚拟列 >0
LIMIT 0,20