标签归档:mysql优化
什么是索引?Mysql索引分析和优化
什么是索引?本文将对Mysql索引分析和优化进行介绍.
一、什么是索引?
索引用来快速地寻找那些具有特定 值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的 记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位 置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。
mysql数据库表类型浅析
大三时就开始接触数据库了,大四特别是毕业后经常使用mysql,可以说我现在的开发已经离不开mysql了,虽然mysql先是被大名鼎鼎的sun收购,然后sun又被同样是数据库公司的oracle纳于囊下,但mysql仍然是最为流行的免费数据库服务引擎,很多公司,特别是中下公司和电子商务网站都采用mysql。而在最近的面试中都会被问到mysql,同时还有mysql的数据库优化,所以了解mysql表的类型对于应用mysql,优化mysql有着很重要的作用。
今天,我们先了解一下MySQL中数据表的分类,以及它们的一些简单性质。
对数据库范式的理解
上周六去面试了一家国企,考官曾问我数据库优化的事,我只回答了php代码这块优化,却没把具体的mysql优化内容讲出来,我现在都想不通自己当时脑子为何不开窍,因为这些优化我确实是做过的,添加索引,优化字段属性,一些字段null改为not null,把一些表的数据库类型 myisam改为innodb,因为innodb可以比myisam减少些死锁。
晚上查看 googlereader 时,发现订阅的 平凡的世界 的博客更新了一篇名为《数据库设计范式的理解》的文章,记得上次研究数据库范式是在去年3月份找工作时,而08年做项目时也用心的去研究过,而平时开发用数据库却没好好想想数据库范式,今天平凡世界的这篇文章就当好好复习吧!
mysql 慢查询分析
最近服务器经常当机,远程登录服务器查看进程后才发现mysql查询的效率太低了,有不少慢查询。主要是由:1.sql语句存在不少效率低的2.最近这段时间用户增加比之前多了不少,几乎每天都是很大的增长—流量跟操作都大增3.查询日志后发现出现当机情况时都有大量用户都在同时操作4.程序存在不少废语句5.内存小了点,我怀疑服务器本身也不稳定!这些都是我们存在的问题!下面来总结一下我一般怎么查看服务器包括 mysql的慢查询分析,只是个人总结,没有什么好的见解,欢迎朋友们拍砖和帮助。
1.在linux系统里(我们用的是ubuntu9,php5,apache5,mysql5.)我一般用top或者uptime两个命令来查询进程,top能让我一目了然的查看非常耗资源的进程,喜欢用。
在
在