spring mvc 小记(六):关于MySql优化

使用spring mvc已有2年之久,却还是停留在使用阶段,感觉这么下去不是办法,所以还是想往深处一探究竟。

MySql优化初试

数据库优化,这个概念如此的高大上,感觉不进大公司,不做超大的项目,是接触不到这东西了。晕,出去面试,差不多都会问“有木有数据库优化的经验呐”,我就纳闷了,这些个小项目,用得着优化吗,还不是想建表就建表,想加字段就加字段?

笑cry了,也许我把这个东西想的太神了,其实在开发中,一些小的举动也是可以称为“数据库优化的”,最简单的——索引,也许还是没用过,但是这个一定用过——主键,数据库会自动给主键加上索引。那么就记录一下开发过程中那些经意或不经意的优化。


我们在建表的时候,其实也不是那么随意建的,至少会考虑各表之间的基本关系,可能会用到:

1、将字段很多的表分解成多个表(分表):一个表的字段多到受不了的时候,就把它“切”了吧

2、增加中间表:将在同一个操作里使用频率很高的一些字段合成一张表,下次查询可以直接查询该表,不过得注意数据同步

3、增加冗余字段:这个应该经常用吧,当某个字段老是得去其他表查找时,不如直接把这个字段搬过来,同样得注意数据的同步


最常用的查询优化——加索引:

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据,但是索引并不是越多越好,一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动),合理使用索引,能使查询加速不少。

1>在使用LIKE关键字进行查询的查询语句中如果匹配字符串的第一个字符为%”,索引不起作用只有%”不在第一个位置,索引才会生效;2>MySQL可以为多个字段创建索引,一个索引可以包括16个字段。对于联合索引,只有查询条件中使用了这些字段中第一个字段时,索引才会生效;3>查询语句的查询条件中只有OR关键字,且OR前后的两个条件中的列都是索引时,索引才会生效,否则,索引不生效。

接触到一个词——慢查询:

记录比较耗时的sql语句。(在Druid中有这种统计功能,不知道是不是同一个概念)


以上这些其实都可以概括为数据库优化,所以下次别人问起时,这些回答也是可以的。


猜你喜欢

转载自blog.csdn.net/u012602046/article/details/52760549
今日推荐