MySQL的简单优化整理

第一次发文章,简单整理一下,顺便理一理思路~
1、在创建表结构时选择合适的字段类型;谨慎使用blog,text;
2、在使用blog,text,或者数据结构过大时不常用的字段进行分表存储;
3、当表中数据量过大时可以进行表的拆分(分表),横向、纵向;
4、可以进行数据库的主->从配置(读、写分离,提高性能)
5、在查询方面可以建立索引,在创建索引时需要注意:字段更新的次数不频繁,字段不为Null值设定,设置索引的列值大多不重复防止为性别,邮箱等类似数据;
6、在查询时拼接条件时考虑有索引字段的顺序,尽可能的把能排除85%以上的条件的字段放在最前面:
7、在索引查询时只能进行顺序配置,不支持逆向匹配;如索引(A,B) A可以走索引,(B、A、C)只能B=?&A=?时可支持走索引
8、使用like查询时,like‘%a%’不走索引; like 'a%'走索引
9、多使用连接查询代替子查询,嵌套查询,慎用In查询;
10、非数值行字段记录在分组后进行合并时,可以使用GROUP_CONCAT(字段名称),可以对非数值型字段进行连接(在批量完善数据时可用到);
11、在进行查询时where 语句中 "="左侧避免进行内部函数的操作,尽可能的把"="右侧的值转换成数据库中的字段类型进行处理;
12、为大家提供一个关键字(explain)可以查看查询语句的性能问题(检索范围、是否走索引,使用时间……)
13、修改数据库的配置(设置缓冲区大小、表缓存等)
14、数据库引擎myISAM、innoDB
       myISAM:检索速度较快、表锁定、更新数据时较慢;
       innoDB:检索速度一般、行锁定、更新效率较好,支持事务;
15、使用in 、exists 时注意事项:
       in适合使用小表(数据量小);exists:适用大数据;  in不排除null值;

16、关于数据库数据恢复的补充(Mysql提供一个 log.bin的日志记录-》包含所有的语句执行,确保此
服务是打开的,以备不测)

先记下这些,后期再补充~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值