mysql
mangmang2012
这个作者很懒,什么都没留下…
展开
-
跟踪监控MYSQL执行的sql语句
在my.ini加上一行log = "D:/tmp/mysql_log/mysql_log.sql"转载 2012-03-07 14:55:06 · 727 阅读 · 0 评论 -
MySQL查询缓存设置
查看查询缓存设置mysql> select @@query_cache_type;+——————–+| @@query_cache_type |+——————–+| ON |+——————–+修改查询缓存设置这样当我们执行 select id,name from tableName; 这样就会用到查询缓存。在 query_cache_type原创 2013-05-10 10:23:47 · 542 阅读 · 0 评论 -
mysql explain 中key_len的计算
今天丁原问我mysql执行计划中的key_len是怎么计算得到的,当时还没有注意,在高性能的那本书讲到过这个值的计算,但是自己看执行计划的时候一直都没有太在意这个值,更不用说深讨这个值的计算了:ken_len表示索引使用的字节数,根据这个值,就可以判断索引使用情况,特别是在组合索引的时候,判断所有的索引字段都被查询用到。在查看官方文档的时候,也没有发现详细的key_len的计算介绍,后来做转载 2013-05-10 10:44:05 · 514 阅读 · 0 评论 -
Schema的优化和索引 - 前言
前言 优化一个设计不当或者错误使用索引的Schema,可以数量级的提高性能。如果需要高性能,你必须对于将要执行的具体语句设计Schema和索引。你也应该对于不同种类的语句进行性能的评估,因为修改成一个语句或者schema的一部分可能会引发其他的一些连带效应。优化往往涉及到了折中。比如,添加索引会增加查询速度,但会降低更新速度。同样的,非范式的schema能提高一些语句的执行速度,但是可能在其转载 2013-05-25 11:02:33 · 548 阅读 · 0 评论 -
Schema的优化和索引 - 选择最佳的数据类型
前言 越小也就是越好的 一般来说,尽量选择小的数据类型足以符合你的存储和展现数据。越小的数据类型也常常是越快的,因为它们使用了较少的硬盘空间,内存,CPU缓存。它们也需要更少的CPU处理周期。 要确定的是不要低估你要存储数值的范围,因为在你的Schema的多个位置中,增长的数据类型范围会让操作很费力费时。如果你对不知道选择什么样的数据类型,那么就选择一个最小的,当然要确保数据转载 2013-06-05 09:40:57 · 883 阅读 · 0 评论 -
Schema的优化和索引 - 索引的基础
索引是数据结构。它能帮助MySQL更有效率的获取数据。它对于好的性能是决定性的因素,但是人们常常忘记使用它们或者没有正确的理解它们,因此在现实的例子中,索引总是引起性能问题。这就是我们把索引放在这本书的较早部分的原因。甚至把索引这章放在语句优化之前。 索引(在MySQL中也叫做键(keys))在数据越来越大的时候,变的格外重要。数据量小,没有高的负载的情况下,在没有索引的情况下,数据库也可以转载 2013-06-05 09:43:37 · 778 阅读 · 0 评论 -
Schema的优化和索引 - 高性能的索引策略
前言 创建正确的索引和正确的使用它们,是获得好的查询性能的关键所在。我们已经介绍了不同种类的索引并且探究了它们的优缺点。现在让我们来看看怎样深入的使用强大的索引。 有许多高效的选择和使用索引的方法,因为有很多特殊情况的优化以及一些专门的行为。决定什么时候使用并且评估你的选择对性能所造成的潜在影响,这些也是我们将会学的技能。接下来的部门会教你怎样高效的使用索引,但是千万不要忘了进行基转载 2013-06-05 09:51:30 · 1912 阅读 · 0 评论 -
MySQL 事务没有提交导致 锁等待 Lock wait timeout exceeded
java.lang.Exception:### Error updating database. Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction### The error may involve defaultParameterMap### The error o转载 2013-06-30 12:45:08 · 117082 阅读 · 3 评论 -
mysql分区
已有表分区转载 2014-10-11 15:23:04 · 423 阅读 · 0 评论 -
查看mysql版本号
#1使用命令行模式进入mysql会看到最开始的提示符 Your MySQL connection id is 3 Server version: 5.1.69 Source distribution #2命令行中使用status可以看到 复制代码代码如下:mysql> status; -------------- mysql Ver 14.14转载 2014-10-20 16:51:01 · 760 阅读 · 0 评论 -
mysql占用大量CPU
show processlist;show full processlist;转载 2014-10-21 13:54:15 · 784 阅读 · 0 评论 -
理解MySQL——索引与优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),转载 2013-05-08 15:09:04 · 554 阅读 · 0 评论 -
mysql 多列索和order by
多列索引的select * where * order by * 查询条件索引很难建立,需要不断调试,最后找出规则:三原则:1. 将经常要查询的字段放到多列索引的前面2. 将要进行等值查询的字段放到多列索引前面3. order by field的列放到多列索引的最后以下是测试先来一张表: CREATE TA转载 2013-05-06 16:57:53 · 767 阅读 · 0 评论 -
The last packet successfully received from the server was XXX seconds ago
Database Connection PoolsUsing a connection pool is recommended for improving the performance of your application, and to ensure that your application handles excessive concurrency without overloa转载 2012-04-10 13:38:52 · 8908 阅读 · 0 评论 -
mysql记录运行慢的sql
在my.ini加上log_slow_queries=1long_query_time=1log-slow-queries=D:/tmp/mysql_log/msyql_slow.log这样就会将运行时间超过1s的sql保存到mysql_slow.log这个文件中转载 2012-12-24 17:35:09 · 516 阅读 · 0 评论 -
MYSQL查询优化(二)
1、优化数据类型(1)避免使用NULL NULL对于大多数数据库都需要特殊处理,MySQL也不例外,它需要更多的代码,更多的检查和特殊的索引逻辑,有些开发人员完全没有意识到,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默认值。(2)仅可能使用更小的字段 MySQL从磁盘读取数据后是存储到内存中的,然后使用cpu周期转载 2013-05-02 15:38:06 · 522 阅读 · 0 评论 -
MYSQL查询优化:Limit
1.LIMIT n 等价于 LIMIT 0,n 偏移offset较小的时候,直接使用limit较优。2、offset大的时候。select * from yanxue8_visit limit 10000,10多次运行,时间保持在0.0187左右Select * From yanxue8_visit Where vid >=(Select vid From yanxue8_转载 2013-05-02 15:40:09 · 774 阅读 · 0 评论 -
MySQL查询优化器
当你提交一个查询的时候,MySQL会分析它,看是否可以做一些优化使处理该查询的速度更快。这一部分将介绍查询优化器是如何工作的。如果你想知道MySQL采用的优化手段,可以查看MySQL参考手册。当然,MySQL查询优化器也利用了索引,但是它也使用了其它一些信息。例如,如果你提交如下所示的查询,那么无论数据表有多大,MySQL执行它的速度都会非常快:SELECT * FROM转载 2013-05-02 17:37:34 · 724 阅读 · 0 评论 -
InnoDB与MyISAM区别
MyISAMInnoDB构成上区别每个MyISAM在磁盘上存储成三个文件。文件名为表名,扩展名为文件类型。.frm 文件存储表定义;.MYD(MYData) 数据文件的扩展名;.MYI(MYIndex) 索引文件的扩展名。基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB事务转载 2013-05-02 15:36:53 · 520 阅读 · 0 评论 -
MYSQL索引使用
什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快1转载 2013-05-02 17:43:45 · 1084 阅读 · 0 评论 -
MySQL索引和优化查询
索引和优化查询恰当的索引可以加快查询速度,可以分为四种类型:主键、唯一索引、全文索引、普通索引。主键:唯一且没有null值。create table pk_test(f1 int not null,primary key(f1));alter table customer modify id int not null, add primary key(id);普通索引:允许转载 2013-05-02 16:53:16 · 599 阅读 · 0 评论 -
MYSQL查询优化(一)
一、 通过查询缓冲提高查询速度 一般我们使用SQL语句进行查询时,数据库服务器每次在收到客户端发来SQL后,都会执行这条SQL语句。但当在一定间隔内(如1分钟内),接到完全一样的SQL语句,也同样执行它。虽然这样可以保证数据的实时性,但在大多数时候,数据并不要求完全的实时,也就是说可以有一定的延时。如果是这样的话,在短时间内执行完全一样的SQL就有些得不偿失。 幸好MySQL为我们提供转载 2013-05-02 15:37:42 · 545 阅读 · 0 评论 -
MYSQL查询优化:使用索引
索引是提高查询速度的最重要的工具。当然还有其它的一些技术可供使用,但是一般来说引起最大性能差异的都是索引的正确使用。在MySQL邮件列表中,人们经常询问那些让查询运行得更快的方法。在大多数情况下,我们应该怀疑数据表上有没有索引,并且通常在添加索引之后立即解决了问题。当然,并不总是这样简单 就可以解决问题的,因为优化技术本来就并非总是简单的。然而,如果没有使用索引,在很多情况下,你试图使用其它的方法转载 2013-05-02 17:39:50 · 615 阅读 · 0 评论 -
mysql相关
查询表记录数及占用空间SELECT TABLE_NAME,TABLE_ROWS,DATA_LENGTH,INDEX_LENGTH,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='xxxx'order by TABLE_ROWS desc原创 2015-04-22 20:15:09 · 434 阅读 · 0 评论