MySQL总结

高效索引策略
1、独立的列
始终将索引列放比较符合的一侧
2、选择性高的索引
尽量将选择性高的列做索引
3、多列索引
当服务器对多个索引做相交操作时,通常需要一个包涵所有相关列的多列索引而不是多个独立的单列索引。
4、选择合适的索引列顺序
在一个多列B-tree索引中,索引列的顺序意味着索引首先按照最左列进行匹配,其次是第二列索引,等等。
通常将选择性高的索引放最左侧但是不全是如此。
当不需要考虑排序和分组的时候,将选择性高的索引放最左侧通常是很好的选择。
select count(*),sum(groupId=10137),sum(userId=22),sum(anonymous=0) from message\G
5、覆盖索引
如果一个索引包含(或者说覆盖)所有需要查询的字段的值,我们就称之为覆盖索引;覆盖索引最大的优点是只需要扫描索引而不需要回表查询,极大的提高性能。

sql语句语法

1:删除列

ALTER TABLE 【表名字】 DROP 【列名称】
ALTER TABLE so_saleorder_detail DROP overArrivalTime;

2:增加列

ALTER TABLE 【表名字】 ADD 【列名称】 INT NOT NULL  COMMENT '注释说明'

3:修改列的类型信息

ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称(这里可以用和原来列同名即可)】 BIGINT NOT NULL  COMMENT '注释说明'

4:重命名列

ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称】 BIGINT NOT NULL  COMMENT '注释说明'

5:重命名表

ALTER TABLE 【表名字】 RENAME 【表新名字】

6:删除表中主键

Alter TABLE 【表名字】 drop primary key

7:添加主键

ALTER TABLE sj_resource_charges ADD CONSTRAINT PK_SJ_RESOURCE_CHARGES PRIMARY KEY (resid,resfromid)

8:添加索引

ALTER TABLE sj_resource_charges add index INDEX_NAME (name);

9: 添加唯一限制条件索引

ALTER TABLE sj_resource_charges add unique emp_name2(cardnumber);

10: 删除索引

alter table tablename drop index emp_name;



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值