目前我有个 Unique 表,前三个字段是 cdate(时间类型)、id(数字类型)、a(字符串 20 字节)作为了 Key 列,假设还有其他 Value 列字段 b(字符串 20 字节)
但业务上既有
Select * from t where a='xxxxx'
又有
Select * from t where b='xxxxx'
做筛选的查询的话,有什么解决办法吗?(现状已经是 用 a
做筛选比 b
快一个数量级以上了小几十倍)
题外话:
另外也是想咨询下前缀索引的细节
- Q1: 如果限制 36 字节,如果变长字符串字段
str( 50 字节)
作为前缀索引,Select * from t where str='xxxxx'
的操作,是所有这种查询均变慢,还是说仅xxxxx
实际值长于 36 字节的记录查询变慢了呢? - Q2: 前缀索引 36 字节上限能手工调整吗?
- Q3: 前缀索引有办法支持多个字符串字段吗?