数据库建立索引规则

设定表数据量行数值为rows,表属性列选择值为unique_c

规则1、

表rows<=200,

情况一:只存在单表查询时不创建索引(主键除外)

情况二:存在与其他表联查时,创建索引

规则2、

表unique_c<20,不考虑在该列上创建索引

例如:status、flag、type、content等性质的属性列上不创建索引

规则3、

在unique_c/rows=1的属性列上创建唯一索引。

规则4、

where判断条件中or连接字段上创建 索引。

例如:

select * from tab1

where col1=’139’ or col2=56;

必须在col1属性列和col2属性列上都创建索引,否则该sql查询将走全表扫描。

规则5

在where中经常联合做判断条件的属性列,创建联合索引。

(1)    联合索引最多可包含3个属性列,但不能包含status、flag、sex性质的属性 列

(2)    联合索引中属性列顺序设置:经常访问的列或选择性较大的列应放在前面。

Sql语句中的where条件中引用了联合索引的全部列或自首列开始且连续的部分列,将有助于提高此查询的性能。

例如:

select * from tab2

where col1=12 and col2=56 and col4=’1’

select * from tab2

where col2=49

结合规则5(1),col4属于unique_c<20性质的列,不能在该列上创建索引以及联合索引

结合规则5(2),创建联合索引(col2,col1)。

规则6、

在频繁进行order by或group by的属性列上建立索引。

规则7、

在一个表上不能创建多于3个索引。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值