昨天在QQ群里讨论一个SQL优化的问题,语句大致如下:
select A,min(B) from table group by A;--A,B都没有not null约束,A列无空值,B列有空值。--存在复合索引IX_TEST(A,B)
于是手动测试,环境采用Oracle自带的scott用户下的emp表。
1.首先查看如下语句的执行计划(此时表只有主键索引):
2.添加IX_TEST(deptno,comm)后查看执行计划:
发现依然是全表扫描。
3.为deptno列添加非空约束后再次查看
一、 MySQL: 索引以B树格式保存 Memory存储引擎可以选择Hash或BTree索引,Hash索引只能用于=或的等式比较。 1、普通索引:create index on Tablename(列的列表) alter table TableName add index (列的列表) create table TableName([…], index [IndexName] (列的列表) 2、唯一性索引:create unique index alter … add u