Yanper

导航

2012年10月30日

由浅入深探究mysql索引结构原理、性能分析与优化

摘要: 第一部分:基础知识:索引官方介绍索引是帮助MySQL高效获取数据的数据结构。笔者理解索引相当于一本书的目录,通过目录就知道要的资料在哪里,不用一页一页查阅找出需要的资料。关键字index-------------------------------------------------------------唯一索引强调唯一,就是索引值必须唯一,关键字unique index创建索引:1、createunique index索引名on表名(列名);2、alter table表名addunique index索引名(列名);删除索引:1、drop index索引名on表名;2、alter tabl 阅读全文

posted @ 2012-10-30 14:34 Yanper 阅读(212) 评论(0) 推荐(0)

添加mysql索引的3条原则

摘要: 一,索引的重要性 索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要看所有数据。注意如果你需要访问大部分行,顺序读取要快得多,因为此时我们避免磁盘搜索。 假如你用新华字典来查找“张”这个汉字,不使用目录的话,你可能要从新华字典的第一页找到最后一页,可能要花二个小时。字典越厚呢,你花的时间就越多。现在你使用目录来查找“张”这个汉字,张的首字母是z,z开头的汉字从900多页开始,有了这条线索,你查找一个汉字可能只要一分钟, 阅读全文

posted @ 2012-10-30 14:33 Yanper 阅读(227) 评论(0) 推荐(0)

MYSQL时间戳转换

摘要: select FROM_UNIXTIME(1249488123, '%Y-%m-%d %H:%i:%s');select now(), UNIX_TIMESTAMP(NOW());select now(), UNIX_TIMESTAMP(now())*1000 阅读全文

posted @ 2012-10-30 10:44 Yanper 阅读(198) 评论(0) 推荐(0)

mysql视图的限制,以及实例

摘要: 视图从表象上看根表差不多,但是毕尽它不是表,对他的使用有什么限制呢?1,mysql的视图名不能和现有表名重复查看复制打印?mysql> show tables; //查看表 +------------------+ | Tables_in_uchome | +------------------+ | comment | | user | +------------------+ 2 rows in set (0.00 sec) mysql> create view user as select * from user; //视图名和存在表重名,报错 ERROR 1050 (42S 阅读全文

posted @ 2012-10-30 09:52 Yanper 阅读(1622) 评论(0) 推荐(0)

mysql view(视图)从0学起,以及实例

摘要: 一,什么视图视图是存放数据的一个接口,也可以说是虚拟的表。这些数据可以是从一个或几个基本表(或视图)的数据。也可以是用户自已定义的数据。其实视图里面不存放数据的,数据还是放在基本表里面,基本表里面的数据发生变动时,视图里面的数据随之变动。二,视图有什么用1,视图可以让查询变得很清楚如果您要找的数据存放在三张关系表里面,查看数据的时候,你就要写个联合查询了。换种方法,我把联合查询的数据放到视图里面,这样查询起来是不是更方便呢,通phpmyadmin看着是不是更清淅呢。2,保护数据库的重要数据,给不同的人看不同的数据假如您让别人帮您开发一套系统,但是你又想把真正表的暴露出来,这个时候视图是不是最好 阅读全文

posted @ 2012-10-30 09:50 Yanper 阅读(225) 评论(0) 推荐(0)

mysql分表的3种方法

摘要: 张映 发表于 2010-08-02分类目录: mysql一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下: 1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间。其实这二个是一回事,等待的同时,肯定有sql在执行。所以我们要缩短sql的执行时间。mysql中有一种机制是表锁定和行锁定,为什么要出现这种机制,是为 阅读全文

posted @ 2012-10-30 09:36 Yanper 阅读(262) 评论(0) 推荐(1)

mysql分表,分区的区别和联系

摘要: 一,什么是mysql分表,分区什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,具体请参考mysql分区功能详细介绍,以及实例二,mysql分表和分区有什么区别呢1,实现方式上a),mysql的分表是真正的分表,一张表分成很多表后,每一个小表都是完正的一张表,都对应三个文件,一个.MYD数据文件,.MYI索引文件,.frm表结构文件。[root@BlackGhost test]# ls |grep user alluser.MRG alluser.frm 阅读全文

posted @ 2012-10-30 09:35 Yanper 阅读(257) 评论(1) 推荐(2)