MYSQL
QQ51931373
这个作者很懒,什么都没留下…
展开
-
理解MySQL——索引与优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),转载 2013-11-28 16:42:32 · 793 阅读 · 0 评论 -
MYSQL 官方参考手册
http://dev.mysql.com/doc/refman/5.1/zh/index.html原创 2013-12-10 22:00:22 · 855 阅读 · 0 评论 -
深入浅出INNODB MVCC机制与原理
原文地址:http://blog.sina.com.cn/s/blog_6611686301015sla.html一、基础知识事务:事务是一组原子性sql查询语句,被当作一个工作单元。若mysql对改事务单元内的所有sql语句都正常的执行完,则事务操作视为成功,所有的sql语句才对数据生效,若sql中任意不能执行或出错则事务操作失败,所有对数据的操作则无效(通过转载 2013-12-10 21:59:22 · 1065 阅读 · 0 评论 -
MySQL 性能优化的最佳20多条经验分享
原始地址:http://www.jb51.net/article/24392.htm今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。-当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化转载 2013-11-28 17:16:00 · 650 阅读 · 0 评论 -
using_where, Using temporary ,using_filesort 分享
Using filsort文档中的解释:Mysql需要额外的一次传递,以找出如何按排序顺序检索行,通过根据联接类型浏览所有行并为所有匹配where子句的行保存排序关键字和行的指针来完成排序,然后关键字被排序,并按排序顺序检索行。额外的传递是指什么?Mysql> show create table test_filesort\G;*************************** 1转载 2013-11-28 16:38:12 · 2243 阅读 · 0 评论 -
table_open_cache太大引发的问题
一直以来,有个产品,经常性的连接不上,后通过lsof 发现有很多连接符,到数据库中查看mysql>show global status like '%open%file%';+---------------+--------+| Variable_name | Value |+---------------+--------+| Open_files | 1276转载 2013-11-28 17:17:31 · 5200 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主转载 2013-11-28 16:40:52 · 670 阅读 · 0 评论 -
using where和 using filesort
MySQL 数据库,MyISAM 类型的表 table_item,有 5、6 个字段,主键是 id。user_id 和 item_id 两个字段都是单独的 INDEX 类型的索引。问题是如何发现的?今天搞程序,在自己的开发环境下,打开一个简单的页面都要好长时间,不知道问题出在哪里,只发现硬盘灯闪个不停。观察 Windows 的任务管理器,看到 mysqld-nt.exe 这个进程的转载 2013-11-28 16:36:50 · 2743 阅读 · 0 评论 -
MySql查询缓存机制
本文转自:http://flatfish2000.iteye.com/blog/506525缓存机制简单的说就是缓存sql文本及查询结果,如果运行相同的sql,服务器直接从缓存中取到结果,而不需要再去解析和执行sql。如果表更改了,那么使用这个表的所有缓冲查询将不再有效,查询缓存值的相关条目被清空。更改指的是表中任何数据或是结构的改变,包括INSERT、UPDATE、DELETE、TRUNCA转载 2013-11-28 17:08:32 · 822 阅读 · 0 评论 -
MySQL慢查询分析mysqldumpslow
MySQL慢查询分析mysqldumpslow发布时间:September 24, 2009 分类:MySQL《MyISAM和InnoDB的一些记录》《MySQL Show命令的使用》一直以来积累了很多对MySQL优化的心得和经验,计划通过写日志的方式一步一步写出来分享给大家。MySQL优化的第一步应该做的就是排查问题,找出瓶颈,而通常情况下的瓶颈和问题都需要通转载 2013-11-28 17:26:54 · 949 阅读 · 0 评论 -
mysql中 如果有记录则修改 无记录则插入 的 几种方法
当unique列在一个UNIQUE键上插入包含重复值的记录时,默认insert的时候会报1062错误,MYSQL有三种不同的处理方法,下面我们分别介绍。先建立2个测试表,在id列上创建unique约束。mysql> create table test1(id int,name varchar(5),type int,primary key(id));Query OK, 0 rows转载 2014-07-14 18:45:13 · 5024 阅读 · 0 评论