经过了一段时间的懒惰以后,重新开始学习,嘿嘿,毕竟寒假嘛,偶尔懒懒也是正常的,但也不能懒的太久了。
本来准备是继续写搜房网的面试题的,结果发现越往后数据库的知识就越多,各种知识点的缺失实在是让我无法忍受的,所以,我就只好从基础做起,一步步来,求助我的半个老师----传智博客,下载了关于MySQL数据库的教学视频,从最基础的开始重新开始学起,并把每次学到的东西记录在此博客中,算是我寒假学习的学习笔记,以免以后知识点缺失,也算是自我学习的反思和总结吧。
说主题吧,第一,先总结对MySQL数据库设计或者优化需要注意到以下几方面的问题:
1.表的设计合理化(符合表的三种范式);
2.添加适当的索引;
3.分表技术(水平分割和垂直分割);
4.读写分离;
5.存储过程(模块化编程,可以提高速度);
6.对MySQL的配置进行优化;
7.MySQL硬件系统的升级;
8.定时的去除不需要的数据,定时进行碎片整理;
以上就是数据库优化的方向,也是以后这段时间学习的目标了。在这里就先提到了几个重点:
1.常用的索引(index)有四种:
普通索引,唯一索引,全文索引,主键索引。
其中,全文索引是现在很常用的,因为在搜索引擎中,往往是在一段文字中查找到关键字,那么全文索引就是很重要的了。
另外,还有空间索引和复合索引,不是很常见。
2.读写分离中的写包括了(update/delete/add);
3.存储过程。
这个很重要,为什么?因为在程序进行数据库操作的时候是经过dbms(数据库管理系统)来进行数据操作的,而数据库说白了就是一堆文件,进行数据操作一般要经过编译---》执行---》缓存 这三个步骤,而这其中编译是很浪费时间的,于是我们可以把对数据常用的操作模块化编程到数据库中,即存储过程,那么就直接调用存储过程来进行数据操作就快上一些。
4.对MySQL配置的优化
这里先说了两点,首先是对并发数的优化,在MySQL安装文件下的my.ini 中可以配置各种参数,最大并发数 max_content = 1000 是一般网站最好的并发数了。
再就是缓存的配置。
革命刚刚开始,同志不能懒惰啊,好好完成寒假的目标吧。。。。